2017-06-14 15 views
0

この質問(Custom NSView embedded in NSSscrollView)に続いて、私のカスタムビューがIBを使用するNSScrollViewに埋め込まれているとき、awakeFromNibメソッドでこれを検出して、いくつかのスクロール通知)。
私の問題は、コードからNSScrollViewにカスタムビューを追加して、scrollviewのdocumentViewプロパティを設定するときです。このシナリオでは、私のカスタムビューはどのような方法で通知されています(呼び出されたNSViewメソッドがオーバーライドできます)か、ビューがスクロールビューに追加された後で明示的に初期化を実行する必要がありますか?カスタムNSViewがNSScrollViewに追加されたときの通知

答えて

1

スクロールビューのdocumentViewはこのスクロールビューのサブビューであり、NSViewには多くの便利なメソッドがあります。 「ビュー階層の管理」の章では:

viewDidMoveToSuperview

はそのスーパービューが(おそらく皆無に)変化しているという見解を通知します。

viewDidMoveToWindow

それが新しいビュー階層に追加されたビューを通知します。

ビューをスーパービューに追加すると、viewDidMoveToSuperviewが呼び出されます。しかし、ビューはすでにビュー内(XIBまたはコード内)にある可能性があり、このスーパービューはスクロールビューに追加できます。 viewDidMoveToWindowは、ビューがビュー階層に追加または削除されたときに呼び出されます。

関連する問題