找出谁添加了特定的自动布局约束

时间:2017-03-09 16:40:35

标签: ios ios-autolayout

如何找出添加特定自动布局约束的人?

因为我看到一些限制,我确定我没有添加。

2 个答案:

答案 0 :(得分:1)

在Swift中,您可以查看var identifier: String?。如果它以NS开头,则由iOS添加。

A constraint’s identifier is available in its description. Identifiers that start with NS are reserved by the system.

答案 1 :(得分:0)

如果布局不明确不可满足,您可以在UIViewAlertForUnsatisfiableConstraints上添加符号断点。

您可以为Objective-C添加Debugger Command po [[UIWindow keyWindow] _autolayoutTrace]或为Swift添加expr -l objc++ -O -- [[UIWindow keyWindow] _autolayoutTrace],自动打印UIView层次结构,如this article中所述。
您还可以在调试器中使用po $r15来打印"详细描述已损坏的约束"或po $r14 for"除了违反约束"之外,还添加了所有约束的更详细说明,如this article中所述。

如果没有,您可以为UIView (或accessibilityIdentifier设置directly in the IB,这将显示在之前的表达式中。结果(以及其他地方)而不是字符串UIView