我正在横向模式下开发iPad应用程序。我已在所有视图控制器中设置为return(interfaceOrientation == UIInterfaceOrientationLandscapeRight);. 但是当我通过以下代码给出更改视图框架时,它没有改变,它占据了ipad的全屏。我怎么能克服这个问题,有什么帮助吗?我试过view.frame也。
-(IBAction)category_Click:(id)sender
{
CGRect rect = _categoryController.view.bounds;
rect.origin.x = 0;
rect.origin.y = rect.origin.y;
rect.size.width = 1024;
rect.size.height = 650;
_categoryController.view.bounds = rect;
_categoryController.view.bounds = CGRectMake(rect.origin.x, rect.origin.y,1024, 650);
[self presentModalViewController:_categoryController animated:YES];
}
答案 0 :(得分:1)
在提供viewController后,您是否尝试调整框架?我相信presentModalViewController:animated:
方法有时可能会在执行期间改变帧。您甚至可能需要等到动画结束。
如果可能,也许可以尝试在_categoryController
类的' - (void)viewDidAppear:'方法中调整视图的框架。
但是,一般来说,我发现很难以平滑的方式改变模态视图控制器的外观。
答案 1 :(得分:0)
检查modalPresentationStyle
属性
_categoryController.modalPresentationStyle = UIModalPresentationFormSheet;
_categoryController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:_categoryController animated:YES];
_categoryController.view.superview.frame = CGRectMake(0, 0, 818, 739);
_categoryController.view.superview.center = self.view.center;