7

如果我通过小尺寸、图标和文本从应用程序更改 NSToolbar 的大小,应用程序会因不满足的约束条件而刹车(试图关闭自动布局,或让应用程序生成其布局)

我的窗口由一个工具栏和一个(左/右)拆分视图组成

[81687:303] Unable to simultaneously satisfy constraints:
(
    "<NSAutoresizingMaskLayoutConstraint:0x100635620 h=--& v=--& V:[NSToolbarItemViewer:0x101b4d930(5)]>",
    "<NSAutoresizingMaskLayoutConstraint:0x100634b30 h=--& v=-&- V:|-(11)-[_NSToolbarSpace:0x101b49a00]   (Names: '|':NSToolbarItemViewer:0x101b4d930 )>",
    "<NSAutoresizingMaskLayoutConstraint:0x100634ad0 h=--& v=-&- V:[_NSToolbarSpace:0x101b49a00]-(12)-|   (Names: '|':NSToolbarItemViewer:0x101b4d930 )>"
)

Will attempt to recover by breaking constraint 
<NSAutoresizingMaskLayoutConstraint:0x100634b30 h=--& v=-&- V:|-(11)-[_NSToolbarSpace:0x101b49a00]   (Names: '|':NSToolbarItemViewer:0x101b4d930 )>

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.

当我可视化约束错误时

在此处输入图像描述

编辑:看起来“工具栏空间项目”正在打破约束,如果我删除它,我运行良好

4

2 回答 2

4

看起来像一个错误,我最终使用空白的 NSView 添加了我自己的空间项

于 2013-11-11T20:54:19.917 回答
3

我有一个类似的问题。对我来说解决问题的是从Default ToolbarAllowed Toolbar Items中删除所有灵活空间。当我从对象浏览器再次添加灵活空间时,警告消失了。

在我的 Git diff 中,我看到结构似乎发生了一些变化:

混帐差异

于 2015-09-01T04:45:24.950 回答