我有一个名为" CustomCell"的自定义UITableViewCell;我在init方法中设置了约束。
当我继承" CustomCell"时,我添加新的UI元素并尝试更新约束,但一切都出错了。
为了使它正常工作,我在-(void)layoutSubviews
中创建了约束,但我不确定这是否正确。
我想知道我是否在正确的UITableViewCell方法中创建了约束。
有没有最好的做法告诉我们应该在哪种方法中创建或更新布局约束?
答案 0 :(得分:0)
基本上UITableViewCell
可以在下面的constraint
方法中设置init
。因为cell
的框架已在之前更新过: -
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
答案 1 :(得分:0)
看看调试窗口是否有关于模糊布局的说法。可能会发生新添加的UI元素的NSAutoresizingMaskLayoutConstraint与您手动设置的元素冲突。如果是这样,请尝试通过yourUIObject关闭它们.TranslatesAutoresizingMaskIntoConstraints = NO;
但是如果你有可能从Interface Builder创建一个单元格,那么就可以从那里设置约束,这是一条建议的路径