gpt4 book ai didi

ios - (Swift) Tableview 单元格 : textLabel showing up, 但 detailTextLabel 不是

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

我在 Storyboard中设置了一个 TableView 并为其提供了一个自定义单元格类:

Storyboard:

enter image description here

细胞类:

class CommentCell: UITableViewCell {

override func layoutSubviews() {
super.layoutSubviews()
textLabel?.frame = CGRect(x: 100, y: textLabel!.frame.origin.y - 2, width: textLabel!.frame.width, height: textLabel!.frame.height)
detailTextLabel?.frame = CGRect(x: 100, y: detailTextLabel!.frame.origin.y + 2, width: detailTextLabel!.frame.width, height: detailTextLabel!.frame.height)
}

let logoView: UIImageView = {
let imageView = UIImageView()
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.contentMode = .scaleAspectFit
imageView.layer.borderWidth = 1
imageView.layer.cornerRadius = 24
imageView.layer.masksToBounds = true
return imageView
}()

override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: .subtitle, reuseIdentifier: reuseIdentifier)

addSubview(logoView)
logoView.leftAnchor.constraint(equalTo: self.leftAnchor, constant: 8).isActive = true
logoView.centerYAnchor.constraint(equalTo: self.centerYAnchor).isActive = true
logoView.widthAnchor.constraint(equalToConstant: 48).isActive = true
logoView.heightAnchor.constraint(equalToConstant: 48).isActive = true
}

required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}

}

然后在我的 View Controller 中我给了它一些虚拟文本来测试它,textLabel 文本显示正常,但 detailTextLabel 文本和 imageView 没有。

@IBOutlet weak var tableView: UITableView!
let commentors = ["Person One", "Person Two", "Person Three"]
let comments = ["Comment One", "Comment Two", "Comment Three"]


func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! CommentCell

cell.textLabel?.text = commentors[indexPath.row]
cell.detailTextLabel?.text = comments[indexPath.row]
DispatchQueue.main.async {
cell.logoView.image = UIImage(named: "testImage")
}

return cell
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return commentors.count
}

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 72
}

这是我在运行应用程序时看到的:

enter image description here

有人知道为什么显示了 textLabel 但没有显示 detailTextLabel 或图像吗?

最佳答案

样式为 custom 的表格 View 单元格没有隐式 detailTextLabel 也没有 imageView

您必须在 Storyboard中实现元素并将它们连接到适当的 IBOutlet

关于ios - (Swift) Tableview 单元格 : textLabel showing up, 但 detailTextLabel 不是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42813476/

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