私は、接続されているが、私のアプリケーションで奇妙な行動を発見したIBOutlet
に私のビューコントローラに呼び出し間で接続されているビューのフレームを持っているのviewWillAppear:
とviewDidAppear:
。これが私のUIViewController
サブクラスの関連コードです:
-(void)viewWillAppear:(BOOL)animated {
NSLog(@"%@", self.scrollView);
}
-(void)viewDidAppear:(BOOL)animated {
NSLog(@"%@", self.scrollView);
}
および結果のログ出力:
MyApp[61880:c07] <UIScrollView: 0x1057eff0; frame = (0 0; 0 0); clipsToBounds = YES; autoresize = TM+BM; gestureRecognizers = <NSArray: 0x10580100>; layer = <CALayer: 0x1057f210>; contentOffset: {0, 0}>
MyApp[61880:c07] <UIScrollView: 0x1057eff0; frame = (0 44; 320 416); clipsToBounds = YES; autoresize = TM+BM; gestureRecognizers = <NSArray: 0x10580100>; layer = <CALayer: 0x1057f210>; contentOffset: {0, 0}>
これは、2つの呼び出し間でフレームが変化していることを明確に示しています。viewDidLoad
メソッド内のビューを使用してセットアップを行いたかったのですが、画面に表示されるまでコンテンツを変更できない場合は、まったく役に立たないようです。何が起こっているのでしょうか?