混合约束和自动调整遮罩

时间:2014-12-12 07:08:33

标签: objective-c cocoa autolayout xcode6

要100%清除,我从未使用过自动布局和约束(我通常会立即禁用它)而且我总是使用通常的自动调整大小的蒙版进行布局。

但是,在我最近的项目中,我最终使用LITabControl 使用自动布局和约束)。所以我的项目都设置为旧方式(使用自动调整掩码),唯一的例外是LITabControl

但是,这就是麻烦开始的地方。

首先,我一直在经历各种奇怪的调整大小问题(通常会起作用)。

最后但并非最不重要的是,我不断地在日志窗口中出现以下错误:

Unable to simultaneously satisfy constraints: (
    "<NSAutoresizingMaskLayoutConstraint:0x6080000897e0 h=--& v=--& H:[NSView:0x600000123480(116)]>",
    "<NSLayoutConstraint:0x60000008d6b0 H:|-(0)-[NSView:0x600000123480](LTR)   (Names: '|':NSSplitView:0x6000001223a0 )>",
    "<NSLayoutConstraint:0x60000008d7f0 H:[NSView:0x600000123480]-(1)-[NSView:0x6000001230c0](LTR)>",
    "<NSAutoresizingMaskLayoutConstraint:0x608000089ce0 h=--& v=--& H:|-(116)-[NSView:0x6000001230c0]   (Names: '|':NSSplitView:0x6000001223a0 )>" )

Will attempt to recover by breaking constraint  <NSLayoutConstraint:0x60000008d7f0 H:[NSView:0x600000123480]-(1)-[NSView:0x6000001230c0](LTR)>

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.

对我来说看起来很漂亮......很神秘。

我已尝试使用setTranslatesAutoresizingMaskIntoConstraints:(并将其设置为NO以获取我的主要观看次数和子视图) - 相当随意我必须承认(我的意思是我只是做知道我在做什么!) - 但这导致了最糟糕的问题,观点完全消失了。

这里发生了什么?我应该怎么做?

知道 LITabControl(我唯一的AutoLayout元素)是原因,但我仍然需要它。是否有机会以某种方式将其“转换”为使用Autoresizing mask?我该怎么办?

0 个答案:

没有答案