ios - 子类 uitableview 单元格以快速更改分隔符高度

标签 ios swift uitableview view tableview

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 运行模拟器然后得到这个 enter image description here

bounds.height 和 width 与 iphone x 相同,但与 8plus 不同。 有没有办法解决这个问题

赞赏

最佳答案

您需要使用自动布局来定位分隔符,或者更新其在 layoutSubviews 中的位置。单元格在添加到 UITableView 之前不会知道其宽度是多少,这是在调用 awakeFromNib 之后一段时间。

关于ios - 子类 uitableview 单元格以快速更改分隔符高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51344053/

相关文章:

ios - 如何在 Ios 中点击时更改表格单元格的不透明度

ios - 我可以知道这个最好的 UI/UX 方法是什么吗?

javascript - UIAutomation,UITableViewCell 内的 UITableView

html - 如何使用 Swift 解码 HTML?

ios - Firebase Crashlytics for Swift 上未显示的实际原因

swift - tableview 将标签高度设置为零和正确的值,然后选择保留零以使标签消失

ios - tableView reloadData cellForRowAtIndexPath 未调用

ios - [上下文保存]后,用于关系的核心数据 NSPredicate 不起作用

ios - firebase uid 总是返回 nil

ios - 在 iOS 上使用 MDCBottomNavigationBar 切换 View Controller