2016-06-11 20 views
0

Xcodeに似たNSSplitViewを実装しようとしていますが、ハンドルを幅の半分以下にドラッグしてビューを折り畳むと、自動的に折りたたまれます。その部分は機能していますが、これが発生したときにツールバーのボタンの状態を更新する必要があります。私はsplitViewDidResizeSubviewsを聞いて、splitViewのビューが折りたたまれているかどうかをチェックしようとしましたが、そのメソッドはcollapsed == trueで16回発生しますので、ボタンの状態を16回更新したくないと思います。これを行うためのよりクリーンな方法がありますか?私はCocoaを初めて使っていますが、私が見てきたことから、このボタンの状態をisCollapsedプロパティに束縛し、それを使ってやりなおすという方法があると思います。そんなことがあるの?NSSplitView折りたたみイベント

+0

スプリットビューには多くの折りたたみ可能なサブビューがあるため、NSSplitViewには1つの 'isCollapsed'プロパティがありません。 – Willeke

答えて

0

利用可能なバインディングを確認する最も良い方法は、ドキュメント、特にCocoa Bindings Referenceビューのサイドバーを参照)を確認することです。

enter image description here

NSSplitViewはあなたが記述バインディングを持っていないので、私はあなたがあなたの現在のアプローチには正しい軌道に乗っていると思います。もちろん、あなたはを更新する必要はありませんボタンの状態を16回、ちょうどチェック必要があればそれは値です。ちょっと無駄に思えるかもしれませんが、ブールの値をチェックするのは非常に安い操作であり、どんな種類のパフォーマンスにも気付かないでしょう。

関連する問題