如何找出添加特定自动布局约束的人?
因为我看到一些限制,我确定我没有添加。
答案 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
。