3

アプリを実行するたびに、よくわからない警告が表示されます。

Layout still needs update after calling -[WebHTMLView layout]. WebHTMLView or one of its superclasses may have overridden -layout without calling super. Or, something may have dirtied layout in the middle of updating it. Both are programming errors in Cocoa Autolayout. The former is pretty likely to arise if some pre-Cocoa Autolayout class had a method called layout, but it should be fixed.

(この関連する質問を見たことがありますが、提供された回答は他の問題を解決するため、私の質問です。)アプリに Web ビューを追加するとすぐに警告が表示されます。それは何を意味し、どのように問題を解決すればよいですか?

4

2 に答える 2

3

- (void)layout実装されているようWebHTMLViewです。WebKit のソースは、Apple のオープン ソース ページで確認できます。

http://www.opensource.apple.com/source/WebKit/WebKit-7534.53.11/mac/WebView/WebHTMLView.mm

自動レイアウトのドキュメントでは、自動レイアウトの使用中にサブビューをレイアウトするためのカスタム ロジックが必要な場合にのみ、「レイアウト」を実装する必要があると記載されています。[super layout]常にカスタム実装を呼び出す必要があると言えます。ではそれは起こっていませんWebHTMLView

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSView_Class/Reference/NSView.html%23//apple_ref/occ/instm/NSView/layout

このメッセージは、おそらくあなたのプロジェクトでは無視しても問題ありません。空の新しいプロジェクトでも同じことが起こります。

于 2012-04-01T18:40:47.527 に答える
0

NSTableViewドラッグで指摘したことに加えて、NSFontManagerこれを開くと常にこのメッセージが表示されることがわかりました。Swift だけでなく、Apple 独自のデモ プログラム CoreTextArcCocoa でも同様です。つまり、これは間違いなく Apple の内臓のバグです。

于 2015-01-08T22:18:57.203 に答える