所以我有一个UITableViewControler以纵向模式显示一个tableview。
一旦我旋转iPhone,我想以横向模式呈现模态视图。
在tableView中我使用:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
并处理现在的模态视图:
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation duration:(NSTimeInterval)duration {
if((interfaceOrientation == UIInterfaceOrientationLandscapeRight) || (interfaceOrientation == UIInterfaceOrientationLandscapeLeft))
{
NSLog(@"Push page view");
PagingViewController *s = [[PagingViewController alloc] initWithNibName:@"PagingView" bundle:nil];
s.hidesBottomBarWhenPushed = YES;
[self presentModalViewController:s animated:YES];
[s release];
}
}
模态视图我有以下内容:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
为了解雇模态视角,我做了:
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation duration:(NSTimeInterval)duration {
if (interfaceOrientation == UIInterfaceOrientationPortrait)
{
NSLog(@"Dismiss my self");
[self.parentViewController dismissModalViewControllerAnimated:YES];
}
}
一些如何工作两次。 第三次将iPhone从纵向模式旋转到横向模式时,我收到了错误的访问错误。
我无法弄清楚是什么给了我这个错误。 有人在乎拍摄吗?
答案 0 :(得分:0)
我能想到的最简单的方法是实现-shouldAutorotate ...并关闭模态视图并返回NO以中止旋转。也许这足以避免任何并发问题。如果这个建议不符合您的喜好,请查看NSNotificationCenter。