要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?我该怎么办?