2016-07-25 4 views
9

私は、次のエラーを取得しています:3つ以上*連続*レイアウトが表示される準備をする。私はNSPopoverを開くとエラーが

WARNING: <NSPopover: 0x618000120780> needed 3 or more *consecutive* layout 
passes to prepare to be shown. Verify that nothing in your view hierarchy 
is aggressively dirtying layout during layout, as this will likely 
cause problems elsewhere. 

これはちょうど最近のビルドに表示されて開始されたと私はそれを引き起こしているものを見つけることができません。私もIBで窓からのすべての制約を削除した

- (IBAction)addClicked:(id)sender { 

[[self addPopover] showRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSMaxYEdge]; 

} 

:ポップオーバーが表示される前に、それは基本的に呼び出すので、私はすべての準備のコードを削除しました。だから私は、再塗装を必要とするレイアウト中に何もしないでください。

ウェブを検索すると、私はとにかく見つけることができる情報はほとんど得られません。私のポップオーバーはフォーム入力に使用されるので、NSOutlineViewとNSImageの4つのNSTextFieldがあります。また、ユーザーには表示されず、サーバー処理に使用される非表示のWebViewも作成されます。

OSX 10.7+

ありがとう Geoff

+0

修正済みです。このエラーが発生した場合は、IBでビューエフェクトインスペクタを選択し、Core Animation Layerのビュー(このポップアップ全体)の横にチェックマークを付けて取り除きます。今私は、テンプレート画像と曖昧な警告なしで正方形のボタンを持つことができます。 – GeoffCoope

+1

これはおそらく回答として投稿するべきです。 – tbodt

+0

ありがとうございます。それを終えた。 – GeoffCoope

答えて

7

このエラーが発生した場合は、IBのビューエフェクトインスペクタを選択して削除し、Core Animation Layerのビュー(全体のポップアップビュー)の隣にチェックマークを付けます。今私は、テンプレート画像と曖昧な警告なしで正方形のボタンを持つことができます。

関連する問題