1

ビューの読み込み中に初めてawakeFromNibが呼び出されましたが、メソッドを介して再度awakeFromNibを呼び出したいと思います。

[view setNeedsDisplay:YES]を試しました。しかし、それは再びawakeFromNibを呼び出していません

なぜawakeFromnibを呼び出さないのかを誰かが提案できますか?

4

2 に答える 2

0

問題は、awakeFromNibを修正するよりも大きくなります。本当の問題は、ビューがロードされたときにコントローラーに通知するメソッドがNSViewControllerにないことです。私が通常行うことは、NSViewControllerを拡張し、controllerHasFocusメソッドを追加することです。また、ビューのスワッピングを処理するクラスは、controllerHasFocusを送信します。次に、iOSのviewDidLoadのように動作します。SOで検索すると、おそらくこれを私よりもよく説明する多くの議論があります。

于 2013-01-29T20:00:50.483 に答える
0

setNeedsDisplay:YESawakeFromNib を呼び出さないビューを再描画するために使用されます。

のすべてのコード[self awakeFromNib];を他のメソッドに移動し、awakeFromNib 以降からいつでも再起動することができます。

于 2013-01-29T10:03:02.890 に答える