gpt4 book ai didi

ios - 自动布局UITableViewCells覆盖底部

转载 作者:行者123 更新时间:2023-12-01 18:35:52 25 4
gpt4 key购买 nike

我在使用此UITableViewCell时遇到麻烦。我从服务器获取字符串并将其插入到viewDidLoad中,但是单元格的底部,即summaryLabel被遮盖了。是插图吗? Here's the code:

class SummaryTableViewCell: UITableViewCell {
let titleLabel = UILabel()
let createdLabel = UILabel()
let summaryLabel = UILabel()

override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
titleLabel.numberOfLines = 2
titleLabel.lineBreakMode = .byWordWrapping
titleLabel.font = UIFont.boldSystemFont(ofSize: 23)

summaryLabel.numberOfLines = 4
summaryLabel.lineBreakMode = .byWordWrapping

contentView.clipsToBounds = true
titleLabel.translatesAutoresizingMaskIntoConstraints = false
createdLabel.translatesAutoresizingMaskIntoConstraints = false
summaryLabel.translatesAutoresizingMaskIntoConstraints = false

contentView.addSubview(titleLabel)
contentView.addSubview(createdLabel)
contentView.addSubview(summaryLabel)
let lg = contentView.safeAreaLayoutGuide
NSLayoutConstraint.activate([
titleLabel.topAnchor.constraint(equalTo: lg.topAnchor),
titleLabel.leadingAnchor.constraint(equalTo: lg.leadingAnchor),
titleLabel.trailingAnchor.constraint(equalTo: lg.trailingAnchor),
titleLabel.bottomAnchor.constraint(equalTo: createdLabel.topAnchor),

createdLabel.leadingAnchor.constraint(equalTo: lg.leadingAnchor),
createdLabel.trailingAnchor.constraint(equalTo: lg.trailingAnchor),
createdLabel.bottomAnchor.constraint(equalTo: summaryLabel.topAnchor, constant: -8),

summaryLabel.leadingAnchor.constraint(equalTo: lg.leadingAnchor),
summaryLabel.trailingAnchor.constraint(equalTo: lg.trailingAnchor),
summaryLabel.bottomAnchor.constraint(equalTo: lg.bottomAnchor)
])
}
override func layoutSubviews() {
super.layoutSubviews()
contentView.frame = contentView.frame.inset(by: UIEdgeInsets(top: 15, left: 17, bottom: 15, right: 17))
}
required init?(coder aDecoder: NSCoder) {super.init(coder: aDecoder)}
}

最佳答案

不要将自动布局与通过设置framecontentView表示的框架布局混合使用,因此用常量替换

titleLabel.topAnchor.constraint(equalTo: lg.topAnchor,constant:15), 
summaryLabel.bottomAnchor.constraint(equalTo: lg.bottomAnchor,constant:-15)

并将所有lbl的前导和尾随更改为此类
titleLabel.leadingAnchor.constraint(equalTo: lg.leadingAnchor,constant:17),
titleLabel.trailingAnchor.constraint(equalTo: lg.trailingAnchor,constant:-17),

关于ios - 自动布局UITableViewCells覆盖底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59337107/

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