10.9 上に構築された 10.7 アプリがあります。10.9でデバッグしています。
私のメイン ビューには、2 つのペインを持つ splitView があります。1 つは WebView、もう 1 つは NSScrollView です。
アプリが起動したら、プログラムで仕切りを右に移動して、右側のペインと囲まれた NSScrollView を非表示にします。
これが発生すると、コンソールに次の警告が表示されます。
-[NSScrollView layout] を呼び出した後、レイアウトを更新する必要があります。NSScrollView またはそのスーパークラスの 1 つが、super を呼び出さずに -layout をオーバーライドした可能性があります。または、更新の途中で何かがレイアウトを汚した可能性があります。どちらも Cocoa Autolayout のプログラミング エラーです。前者は、Cocoa 以前の Autolayout クラスに layout と呼ばれるメソッドがあった場合に発生する可能性が非常に高いですが、修正する必要があります。
これは、アプリの起動時にビューが最初に読み込まれたときにのみ発生します。新しいビューに切り替えたり、元に戻したりしても問題ありません。
問題は、splitView ディバイダーを移動したときにスクロール ビューがまだ描画されているため、スクロール ビューが汚れていることだと思います。
仕切りを移動する行をコメントアウトすると、メッセージが表示されません。
参考までに、10.8 でのビルド / デバッグ時にエラーは発生しませんでした。
コンセンサスの周りのグーグルから、これは10.9のバグであり、無視できるようですが、コードに警告を残すのは好きではありません。
これを修正する方法を知っている人はいますか?ビューが完全に描画された後、仕切りをポイントに移動するコードを移動する必要があります。
ありがとう
ダレン。