0

ユーザーがメニュー項目を選択すると、以前に割り当てられたサブビューコントローラーのセットの1つに切り替わる管理ビューコントローラーがあります。

ビューコントローラーに切り替えると、管理ビューコントローラーのビューをサブビューコントローラーのビューに接続します。

[mvc.view addSubview:subvc.view];

それはすべてうまくいくようです。

ただし、ビュー階層からそのサブ ビュー コントローラーのビューを削除する場合 (たとえば、アプリケーションでページを切り替える場合):

[subvc.view removeFromSuperview];

  • カスタム ビュー クラスの willRemoveSubview メソッドは起動しません。removeFromSuperview 呼び出しを行うときに、カスタム ビュー クラスのインスタンスで呼び出していることを確認しました。

ただし、viewWillMoveToWindow など、カスタム ビュー クラスの他のメソッドは起動します。

NSView リファレンス ドキュメントには、このメソッドを呼び出す必要があると書かれていますか?

これが機能しない理由を誰かが提案できますか?

Xcode 4.5.2を使用して10.7用にコンパイルする10.8.2で実行しています

ありがとう

ダレン。

4

1 に答える 1

1

willRemoveSubview:、名前が示すように、削除されるサブビューではなく、スーパービューで呼び出されます。

于 2012-12-13T08:56:29.257 に答える