在将方向更改为portraitupsidedown之后,presentViewController无法正常工作

时间:2013-01-09 10:56:49

标签: objective-c ipad ios5

代码是:

OptionsTableViewController *optionsTableVc = [[OptionsTableViewController alloc] initWithItems:itemNames andSelectedItem:-1 andOrigin:-1];

UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:optionsTableVc];
optionsTableVc.delegate = self;
[self presentViewController:nav animated:YES completion:nil];

OptionsTableViewController是一个自定义的viewcontroller,它继承自UITableViewController,一个简单的对象

此代码在纵向,向右旋转一次或向左旋转一次时效果很好 - 但是当我尝试在方向更改为UpsideDown后尝试执行此代码时 - 它会停止工作 - 当我尝试执行它时,当前视图变为“翻转”(即从上下颠倒,或从左侧到右侧的景观)并立即消失。

2 个答案:

答案 0 :(得分:1)

您要更改的视图控制器可能没有向upsideDown的以下函数返回yes

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{

}

如果您的目标视图控制器中还没有此功能,您将需要添加它并为您想要支持的所有方向返回yes(听起来可能都是)。如果你想支持所有方向,你可以从这个函数返回yes,这应该可以解决你的问题。

答案 1 :(得分:0)

添加此行修复了奇怪的行为:

nav.modalPresentationStyle = UIModalPresentationPageSheet;