10.12にはいくつかの大きな変更がありますが、私の意見では最大の新しい自動レイアウトシステム(または変更/書き直し古いもの...知っています)です。私はこの問題を示す簡単なプロジェクトを準備しました。分割されたビュー項目をボタンで折り畳むことに関連しています。それは10.12でのみ起こります。プロジェクトをコンパイルしてボタンをクリックするだけです。エラーが表示されます:macOS 10.12自動レイアウトの問題
2016-10-04 15:10:28.284296 test-12 [64932:7425277] [レイアウト]が検出されました。サイズと原点を完全に定義するのに十分な制約がないため、配置することはできません。不足している制約を追加するか、translatesAutoresizingMaskIntoConstraints = YESを設定し、制約が生成されます。このビューがmacOS 10.12以降で手動でレイアウトされている場合、オーバーライドから[super layout]を呼び出さないように選択できます。 DETECTED_MISSING_CONSTRAINTSにブレークポイントを設定してデバッグします。このエラーは一度だけ記録されます。
ブレークポイントを設定した後、我々は問題のビューであることを見つけることができます。
(lldb) po $arg1
<NSSplitDividerView: 0x618000161980>
は、私は完全に間違っているか、10.12との明確な問題があるのでしょうか?可能であれば、この種のエラーを防ぐ方法をアドバイスしてください。
プロジェクトはもう一度github
からダウンロードすることができますが助けてくれてありがとう。
I.ニコロフ
NSAlert.layout()を呼び出すだけで、このメッセージをトリガすることができます。この場合の提案は一切なく、エラーを回避する明白な方法はないので、私はレーダー(rdar:// 28700495)を提出しました。 – rsfinn
私の 'NSSplitViewController'に' splitView(_ splitView:NSSplitView、shouldHideDividerAt dividerIndex:Int) - > Bool'から 'false'を返すことでこの問題を解決します。 – LShi
@LShi:ありがとう、私は同じ問題を抱えていて、それも私のために働いた。 – mschmidt