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

3

同様の問題がありました。そして、問題を解決したのは、Default ToolbarAllowed Toolbar Itemsの両方からすべての柔軟なスペースを削除することでした。オブジェクト ブラウザから再度フレキシブル スペースを追加すると、警告が消えました。

私の Git diff では、構造が多少変更されているように見えます。

git差分

于 2015-09-01T04:45:24.950 に答える