2

UIViewController 内で使用されるカスタム UIView があります。カスタム ビューには、カスタム/プログラム レイアウトが必要です。私が現在行っていることは、コントローラーの「viewDidAppear」メソッド内から、「layoutThisView」という場所に配置したカスタム ビュー メソッドを呼び出すことです。これはうまくいくようです。

質問 - このアプローチの代わりに UIView layoutSubviews/layoutIfNeeded メソッドを使用する必要がありますか? これは役に立ちますか/より良いアプローチになりますか?

4

1 に答える 1

4

を使ったほうがいいかもしれませんlayoutSubviews。Cocoa Touch は、サイズ変更、向きの変更など、なんらかの理由でビューにレイアウトが必要になるたびに、このメッセージを自動的に送信します。一般に、できる限りフレームワークを使用してください。

1 つの注意点: スクロールすると、含まれているビューで a が呼び出されるUIScrollView可能性があるlayoutSubviewsため、特定のタイプのレイアウトを実行する前に、ビューの境界が実際に変更されていることを確認するなどの操作を行う必要がある場合があります。ただし、コメンターがそれを明確にしてくれることを嬉しく思います-それは私が遭遇したものであり、徹底的にテストしたものではありません.

于 2011-08-04T04:55:31.343 に答える