ios - 找出哪个 View 打破了约束

标签 ios autolayout nslayoutconstraint

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

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

我的问题是,如果我对约束有这样的描述:
<NSLayoutConstraint:0x7f8dca498410 V:[UIView:0x7f8dca493010]-(0)-[UILabel:0x7f8dca493610]>
我怎样才能找出这是哪个 UIView 以及这是哪个 UILabel。我知道我可以做 po 0x7f8dca493010 ,但如何打印我的 View 的属性,最好是打印例如我给 IB 中的 View 起什么名字?

最佳答案

使用此命令打印所有 View

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

然后 command + 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>>

关于ios - 找出哪个 View 打破了约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33608437/

相关文章:

iphone - 在 UIScrollView 中禁用垂直滚动

ios - 无法将协议(protocol)中声明的 UIView 的 IBOutlet 连接到 xib 实体

ios - Swift WKWebView 未将全局处理程序注入(inject)网站

ios - NSHTTPCookieStorage 用于相同的 URL 但不同的用户

ios - 旋转 UIImageView 并使宽高比正确更新

ios - 一行 ImageView 的自动布局问题

ios - 使用 AutoLayout 时折叠 UIView

ios - 设置imageView高度的正确方法

ios - 使用视觉格式语言更改 NSLayoutConstraints 方向的正确方法

ios - 调整父 View 的大小以使其大小等于其 subview 的大小