找出哪个视图打破了约束
Find which view is breaking constraints
我遇到自动布局问题,出现 "Unable to simultaneously satisfy constraints." 错误。
现在我已经为我的所有约束添加了标识符,但是,冲突约束似乎不是我创建的,因为我只在几个冲突约束中看到我的标识符。
我的问题是,如果我有这样的约束描述:
<NSLayoutConstraint:0x7f8dca498410 V:[UIView:0x7f8dca493010]-(0)-[UILabel:0x7f8dca493610]>
如何找出这是哪个 UIView 和哪个 UILabel。我知道我可以做 po 0x7f8dca493010
,但是我怎样才能打印我的视图的属性,最好是打印例如我给 IB 中的视图起的名字?
使用此命令打印所有视图
(lldb) po [[[UIApplication sharedApplication] keyWindow] recursiveDescription]
然后命令+F查找地址
然后,借助左侧的View Debugging和log定位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>>
我遇到自动布局问题,出现 "Unable to simultaneously satisfy constraints." 错误。
现在我已经为我的所有约束添加了标识符,但是,冲突约束似乎不是我创建的,因为我只在几个冲突约束中看到我的标识符。
我的问题是,如果我有这样的约束描述:
<NSLayoutConstraint:0x7f8dca498410 V:[UIView:0x7f8dca493010]-(0)-[UILabel:0x7f8dca493610]>
如何找出这是哪个 UIView 和哪个 UILabel。我知道我可以做 po 0x7f8dca493010
,但是我怎样才能打印我的视图的属性,最好是打印例如我给 IB 中的视图起的名字?
使用此命令打印所有视图
(lldb) po [[[UIApplication sharedApplication] keyWindow] recursiveDescription]
然后命令+F查找地址
然后,借助左侧的View Debugging和log定位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>>