我正在尝试使用Swift并使用布局格式。 我正在使用的IDE是Xcode6-Beta2。
var viewDictionary:Dictionary = ["myButton": myButton]
var constraintFormat1:AnyObject[]! =
NSLayoutConstraint.constraintsWithVisualFormat("H:|-[myButton]-|",
options : NSLayoutFormatOptions(0),
metrics: nil,
views: viewDictionary)
但是我收到了以下错误消息。
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: 'Unable to parse constraint format:
Unable to interpret '|' character, because the related view doesn't have a superview
H:|-[myButton]
^'
它不适用于swift吗?或者我写错了格式模式?
答案 0 :(得分:8)
" |" (竖线)字符是指您在此情况下(直接或间接)在其内部声明的视图的超视图" myButton"。当您调用.constraintsWithVisualFormat时,它会尝试隐式查找按钮的超级视图,以便它可以在该视图和按钮之间创建约束。但是,由于您的按钮尚未添加到视图中,因此会失败。
答案 1 :(得分:0)
我有同样的问题,我查了详细信息,我没有在我的超级视图中添加子视图,所以它抱怨
" Unable to interpret '|' character, because the related view doesn't have a superview
H:|-[yourSubView]"
确保您也调用了addSubview(youSubview)。