找出哪个视图正在破坏约束

时间:2015-11-09 11:48:07

标签: ios autolayout nslayoutconstraint

我遇到自动布局问题,“无法同时满足约束”。错误。

现在我已经为所有约束添加了标识符,但是,冲突的约束似乎不是由我创建的,因为我只在几个冲突的约束中看到了我的标识符。

我的问题是,如果我对约束有这样的描述:

<NSLayoutConstraint:0x7f8dca498410 V:[UIView:0x7f8dca493010]-(0)-[UILabel:0x7f8dca493610]>

我怎样才能找出这是什么UIView以及这是哪个UILabel。我知道我可以po 0x7f8dca493010,但是如何打印我的视图的属性,最好是打印,例如我给IB视图的名字?

1 个答案:

答案 0 :(得分:6)

使用此命令打印所有视图

(lldb) po [[[UIApplication sharedApplication] keyWindow] recursiveDescription]

然后命令+ F查找地址

然后,在View Debugging左侧和日志的帮助下找到View

同时 如果您熟悉LLDB,则可以执行任何您想要的代码

lldb) e UIView *$view = (UIView *)0x7fb3b248d860
(lldb) po [$view superview]
<UIView: 0x7fb3b248d4e0; frame = (0 0; 414 736); autoresize = W+H; layer = <CALayer: 0x7fb3b248cca0>>