2011-10-20 54 views
0

我正在橫向模式下開發iPad應用程序。我已經在所有視圖控制器中設置了返回值(interfaceOrientation == UIInterfaceOrientationLandscapeRight);. 但是當我通過下面的代碼給改變視圖框架時,它並沒有改變,它佔據了ipad的全屏。我如何克服這個問題,有什麼幫助嗎?我也試過view.frame。view.frame在ipad中不工作?

-(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]; 

} 
+2

起初。你告訴'frame',但你的代碼是關於'bounds'的。 – beryllium

+1

我都試過了..我在我的問題中提到過? –

回答

1

您是否嘗試過調整後的框架的的viewController呈現?我相信presentModalViewController:animated:方法有時可能在執行期間改變幀。您甚至可能需要等到動畫完成。

如果可能的話,可以嘗試在_categoryController的類的' - (void)viewDidAppear:'方法中調整視圖的框架。

儘管如此,我發現以平穩的方式更改模態視圖控制器的外觀很困難。

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;