我收到以下错误:
无法解析约束的符号常量,因为:不能 找到属性的相关边:centerX和centerX。
使用符号 断点 NSLayoutConstraintFailedToFindDefaultResolvedValueForSymbolicConstant 调试。
如果我在NSLayoutConstraintFailedToFindDefaultResolvedValueForSymbolicConstant
处添加断点,则会在此行停止:
[self.customNavigationBar.widthAnchor constraintEqualToAnchor:self.view.widthAnchor].active = YES;
在视图控制器的viewDidLoad
内调用此行。 customNavigationBar
是从笔尖加载的UIView,已经作为子视图添加到self.view
。
如果我尝试打印我正在使用的锚点,一切似乎都可以:
(lldb) po self.customNavigationBar.widthAnchor
<NSLayoutDimension:0x17446cc80 "UIView:0x10115c160.width">
(lldb) po self.view.widthAnchor
<NSLayoutDimension:0x170667080 "UIView:0x1012ae550.width">
答案 0 :(得分:4)
此错误来自您为NSLayoutConstraint
选择的构造函数。
您可能有类似这样的内容:
view.topAnchor.constraint(equalToSystemSpacingBelow: otherView.centerYAnchor, multiplier: 0.25).isActive = true
但是您应该这样构造它:
let constraint = NSLayoutConstraint(item: view, attribute: .top, relatedBy: .equal, toItem: otherView, attribute: .centerY, multiplier: 0.25, constant: 1)
constraint.isActive = true