我正在iOS 4.3下构建一个仅在iPad上支持横向定位的应用程序,尽管该错误也出现在iOS 4.2下。
应用程序中的几个位置,我将UIViewController
显示为模态视图。所有这些都使用这种模式显示:
viewController.modalPresentationStyle = UIModalPresentationFormSheet;
viewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:viewController animated:YES];
在大多数地方,它们按预期工作 - 模态表单从屏幕底部向上滑动。
但是,在两种情况下,模态表单从屏幕左下角滑入。表单几乎一直向右滑动,表单底部不在视图范围内。如果您对文本字段进行聚焦并显示屏幕键盘,则表单将移动到屏幕顶部的中心位置。
我不认为XIB的模拟度量会影响他们的行为,但我已经为所有这些设置了方向(调用UIViewController
self
和模态视图控制器{{1景观。
为什么这两个模态表单的行为与其他表单不同?
答案 0 :(得分:0)
我想在这里你应该在shouldAutorotate函数中返回横向方向,所以如果你想看左/右景观,请使用这个代码:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight||interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
// return YES;
}
试试这可能对你有帮助..
答案 1 :(得分:0)
确保你有一个嵌入在NavigationController中的viewController,navController shouldAutotorate也设置为横向