我的ViewController中发生了很多viewDidLayoutSubviews
个事件。最后,我缩小到触发事件的单行代码:
self.debugLabel.text = [NSString stringWithFormat:@"%@ - %@", key, [@(tag) stringValue]];
将子视图中的UILabel
添加到ViewController的self.view
。为什么更改UILabel
的文本会导致边界更改?在viewDidLayoutSubviews
doc:
当视图控制器视图的边界发生变化时,视图 调整其子视图的位置,然后系统调用它 方法
P.S。我确信debugLabel字体大小足以适合它的框架。
答案 0 :(得分:1)
我认为这与自动布局有关。如果视图调整大小,则需要在视图层次结构的其余部分中检查约束,以确保它们满足。