gpt4 book ai didi

swift - UILabel 未显示在 View 中

转载 作者:行者123 更新时间:2023-11-28 12:11:38 24 4
gpt4 key购买 nike

问题

我试图完全理解如何完全以编程方式构建 Swift 应用程序,但我对布局 anchor 很感兴趣。我有一个 TableView ,如果选择了一行,它将把一个新的 View Controller 推送到 View 中。

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let currentCell = tableView.cellForRow(at: indexPath)! as! CoinCell
if let coin = currentCell.coin {
let newViewController = CoinViewController(coin)
self.navigationController?.pushViewController(newViewController, animated: true)
}
tableView.deselectRow(at: indexPath, animated: true)
}

下面是我正在推送的 View Controller 的代码。我能够在调试时看到 nameLabel 有文本,但我似乎无法在 View 中实际显示标签。

var coin: Coin? {
didSet {
nameLabel.text = coin?.name
}
}

init(_ coin: Coin) {
super.init(nibName: nil, bundle: nil)
self.coin = coin
}

required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}

override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = UIColor.white
view.addSubview(nameLabel)
view.addSubview(testLabel)
setupView()
}

let nameLabel: UILabel = {
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
return label
}()

let testLabel: UILabel = {
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.text = "TEST"
return label
}()


func setupView() {
nameLabel.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
nameLabel.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
nameLabel.widthAnchor.constraint(equalToConstant: 50).isActive = true
nameLabel.heightAnchor.constraint(equalToConstant: 50).isActive = true
}

我还是个初学者,所以我不确定实际调试此类问题的最佳方法。感谢您的帮助。

最佳答案

由于您精确地确保您的 Controller 通过 initializer 接收数据(或非可选数据),您应该将 property observer (didSet) 替换为一个简单的属性。

let coin: Coin 

init(_ coin: Coin) {
self.coin = coin
super.init(nibName: nil, bundle: nil)
}
// now in viewDidLoad() you can set the text of your label i.e namelabel.text = self.coin.something

关于swift - UILabel 未显示在 View 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48302762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com