如果iPhone的方向改变了哪个方法首先被调用?
-(void)viewWillAppear:(BOOL)animated
- (void)viewDidLoad
如果我通过导航控制器的后退按钮回到上一个视图控制器,这些方法被称为?如果按哪个顺序调用?
答案 0 :(得分:1)
如果你的类是UIViewController,你可以使用这个方法:
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
在UIViewController之外,您可以使用addListener进行轮换通知。
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationdidChange:) name:UIDeviceOrientationDidChangeNotification object:nil];
答案 1 :(得分:0)
viewDidLoad
。通常,如果您访问控制器的视图或将其放在屏幕上,则会发生这种情况。
当它出现时(即被推到UINavigationController
上),viewWillAppear:
方法被调用(和viewDidAppear:之后)。
可能会多次加载视图(例如,在低内存条件下或者视图以其他方式处置)。它可能发生,但它不必。无论如何viewWillAppear:
将被再次调用(如果适用,它会在viewDidLoad
之后调用。)
反过来没有多大意义 - 如果视图尚未加载,则没有任何配置或让它出现。