我有一个场景,我需要为添加到 UITableViewCell 的 UIButton 更改 UIEdgeInsets,我在 layoutSubviews 中设置了它,但这被调用了很多次,它也适用于 init,但我不确定这是否真的是一个地方因为那只会调用一次。
override func layoutSubviews() {
super.layoutSubviews()
if imageView != nil {
titleEdgeInsets = UIEdgeInsets(top: 52, left: -10, bottom: 0, right:-10)
}
}
谁能告诉我哪个是理想的地方,为什么?
最佳答案
awakeFromNib
将在从 xib 或 Storyboard加载新单元格时调用
,但不是在重新使用单元格时。
但是在 awakeFromNib 期间,框架布局不会出现。 UIEdgeInsets
不会受框架影响,所以我更喜欢在 awakeFromNib 中调用它,而不是在
布局 subview
layoutSubviews
您将获得正确的框架,因此仅用于需要正确框架(如角半径)的时尚
关于ios - 当 UIButton 的 subview 是 UITableViewCell 的 subview 或任何其他 View 的 subview 时,设置 UIButton 边缘插入的理想位置是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50208914/