import UIKit
class UISeparatorTableViewCell: UITableViewCell {
override func awakeFromNib() {
super.awakeFromNib()
setSeparator()
// Initialization code
}
func setSeparator() {
let separator = UIView(frame: CGRect(x: 8, y: bounds.height - 1, width: bounds.width - 16, height: 1))
separator.backgroundColor = UIColor(white: 216/255, alpha: 100)
addSubview(separator)
}
}
我正在编写 uitableviewcell 的子类,以使其分隔符更厚。当使可重用单元出队但无法获得单元的正确边界时,在 awakeFromNib 调用它不会导致任何分隔符的重新创建。我的意思是。 bounds.height 只是当前 Storyboard View 设备。如果我使用 Storyboard View 作为 iphone X。使用 8plus 运行模拟器然后得到这个
bounds.height 和 width 与 iphone x 相同,但与 8plus 不同。 有没有办法解决这个问题
赞赏
最佳答案
您需要使用自动布局来定位分隔符,或者更新其在 layoutSubviews
中的位置。单元格在添加到 UITableView
之前不会知道其宽度是多少,这是在调用 awakeFromNib
之后一段时间。
关于ios - 子类 uitableview 单元格以快速更改分隔符高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51344053/