我在应用程序中发现了一个奇怪的行为,其中一个连接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}>
这清楚地表明框架在两个调用之间正在改变。我想使用该viewDidLoad
方法中的视图进行设置,但是如果无法在屏幕上显示内容之前更改内容,这似乎毫无用处。可能会发生什么?