1
此问题与我以前询问如何添加在单独的xib here中定义的视图的问题有关。我仍然在努力,现在我得到这个布局特定的错误,所以我认为最好问一个新的问题。Autolayout错误 - 无法同时满足约束条件
我有2个xib,我试图从xib1插入视图到xib2上的NSView占位符,并且我希望xib1的视图在视图大小调整时调整大小。
这是我尝试设置左/右约束的代码。
let placeholder: NSView = self.m_viewPlaceHolder;
let insert: NSView = UserView01().view;
insert.frame = NSRect(x: 0, y: 0, width: placeholder.frame.width, height: placeholder.frame.height);
placeholder.addSubview(insert);
NSUserDefaults.standardUserDefaults().setBool(true, forKey: "NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints");
let hor = NSLayoutConstraint.constraintsWithVisualFormat("H:|-[view]-|", options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: ["view" : insert]);
NSLayoutConstraint.activateConstraints(hor);
,这是我在
2016-01-12 20:49:09.307 SubView01[9240:308241] Unable to simultaneously satisfy constraints:
(
"<NSLayoutConstraint:0x608000087800 H:|-(NSSpace(20))-[NSView:0x608000120500] (Names: '|':NSView:0x6080001206e0)>",
"<NSAutoresizingMaskLayoutConstraint:0x6000000842e0 h=--& v=&-- H:|-(0)-[NSView:0x608000120500] (Names: '|':NSView:0x6080001206e0)>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x608000087800 H:|-(NSSpace(20))-[NSView:0x608000120500] (Names: '|':NSView:0x6080001206e0)>
Set the NSUserDefault NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints to YES to have -[NSWindow visualizeConstraints:] automatically called when this happens. And/or, break on objc_exception_throw to catch this in the debugger.
2016-01-12 21:00:19.409 SubView01[9240:308241] Clicked on overlapping visualized constraints: (
"<NSLayoutConstraint:0x608000087800 H:|-(NSSpace(20))-[NSView:0x608000120500] (Names: '|':NSView:0x6080001206e0)> (Actual Distance - pixels):0",
"<NSAutoresizingMaskLayoutConstraint:0x6000000842e0 h=--& v=&-- H:|-(0)-[NSView:0x608000120500] (Names: '|':NSView:0x6080001206e0)> (Actual Distance - pixels):0"
)
我在设计师添加的唯一的限制是左/上/右/底部640个像素的占位符约束主要跟踪查看错误窗口,并在标签上的userview。
不幸的是,如果我设置insertview.translatemask = false,那么插入视图不显示。 –
当然,你必须自己添加足够的约束。 – vadian
不应该通过NSLayoutConstraint.constraintsWithVisualFormat(“H:| - [...足够吗?]添加的约束。对于这些可能愚蠢的问题抱歉,但我已经花了数小时,仍然不知道如何使用自动布局插入一个视图 –