gpt4 book ai didi

ios - Nib 高度何时设置?

转载 作者:行者123 更新时间:2023-11-30 13:56:04 26 4
gpt4 key购买 nike

我有一个自定义的 UITableViewCell,我正在尝试在我的表格 View 的 Nib 中设置它。我有一个用于设置我的单元格的方法,setupCell(),它似乎无法正确获取我的高度。

我在 tableView heightForRow 方法中设置高度,如下所示:

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
let cell = tableView.dequeueReusableCellWithIdentifier(kProfilePicIdentifier) as! ProfilePictureTableViewCell
return cell.computeHeight()
}

这会将单元格带到此方法来设置高度:

override func computeHeight() -> CGFloat {
let screenRect = UIScreen.mainScreen().bounds
let height = screenRect.height * 0.4

return height
}

setupCell 方法如下所示:

override func setupCell() {
profilePicture.image = UIImage(named: "prof_pic")
profilePicture.layer.cornerRadius = profilePicture.frame.size.height / 4.6
profilePicture.clipsToBounds = true
}

cornerRadius 公式使它能够准确地达到我设置的高度。但是,一旦我更改了computeHeight函数的高度(这又改变了tableViewCell行高),圆圈就会变得困惑,因为它似乎没有获得正确的高度。

profilePicture 导出设置为 View 总高度的一半,但它似乎并没有反射(reflect)出当我调用 setupCell 时,它总是设置为恒定大小而不是 View 大小的一半。

有谁知道单元格的高度何时实际设置?我什么时候可以调用这个方法,以便我可以轻松地将高度除以 2 以获得半径?

编辑:所以我通过将角逻辑放入 layoutSubviews() 中来使其工作,但是我仍然有兴趣知道何时设置 Nib 内图像的实际高度.

最佳答案

如果您使用自动布局,则可以覆盖 viewDidLayoutSubviews ,它将在布局引擎传递后立即调用。 viewDidlayoutSubviews 可以被多次调用。到最后一次调用 viewDidLayoutSubviews 时,所有 viewController 的 subview 框架都已设置。但是,何时设置特定框架是未定义的,但您可以在 viewDidLayoutSubviews 中放置打印语句来了解哪个 channel 设置了它的框架。

关于ios - Nib 高度何时设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33600198/

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