Apple 提供的示例使用 Storyboard 的 segue 机制从一个视图转到另一个视图,如果您使用的是 NIB 文件,则需要使用 UINavigationViewController 方法,您甚至可以设置要从一个 UIControllerView 转到另一个的转换
例如,此代码将通过翻页动画从一个 UIViewController 切换到另一个
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:0.75];
[self.navigationController pushViewController:yourViewController animated:NO];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:navController.view cache:NO];
[UIView commitAnimations];
为了实现知道何时推送一个视图或另一个视图的事实(或者如果切换到故事板,则使用 segue),您可以注册以从导航控制器或当前视图监听 UIDeviceOrientationDidChangeNotification 事件,以注册某种方法来处理屏幕例如旋转
-(void)viewWillAppear:(BOOL)animated {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(methodToChangeViewController) name:UIDeviceOrientationDidChangeNotification object:nil];
}
-(void)viewWillDisappear:(BOOL)animated {
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIDeviceOrientationDidChangeNotification object:nil];
}
取消注册活动非常重要
希望这可以让您对如何实现您的目标有所了解