1

独自の xib を持つ独自のクラスで終了するビューがあります。

このビューは初期化され、viewController ビューにサブビューとして追加されます。

ビューが初期化されると、メソッド layoutSubviews が呼び出され、ビュー内のいくつかのものをカスタマイズします。

しかし、ビューがスーパービューから削除されたときに呼び出されるメソッドはどれですか?

たとえば、ViewController の場合、viewWill/DidDisappear が呼び出されます。UIView (layoutSubviews の反対) に似た方法はありますか?

前もって感謝します

- -編集 - -

サブビューの追加と削除の両方で呼び出されるメソッドを見つけました:

- (void)willMoveToSuperview:(UIView *)newSuperview

また、newSuperview == 0 の場合、サブビューの削除をカスタマイズできます。

私は正しいですか、それとも状況を処理するのは厄介な方法ですか?

4

1 に答える 1

3

しかし、ビューがスーパービューから削除されたときに呼び出されるメソッドはどれですか?

-removeFromSuperviewが呼び出されるため、ビューが削除されたときにハウスキーピングを行う必要がある場合は、それをオーバーライドできます。superのバージョンも呼び出すことを忘れないでください。

-layoutSubviewsビューがスーパービューに追加されたときにのみ呼び出されるとは限りません。レイアウトが必要なときはいつでも呼び出されます。たとえば、方向が変更されたとき、スーパービューが再びレイアウトされたとき、またはビューのフレームが変更されたときに呼び出されることがあります。-layoutSubviews何も必要ないので、実際には逆はありません。(それは何と呼ばれるでしょうか-messupSubviews?? ;-))

于 2013-07-02T20:33:12.997 に答える