2011-10-18 64 views
0

我在調整iPad(iOS 4.3.5)上的UINavigationController大小時遇到​​問題。在平板電腦的大屏幕上,它顯示爲全屏視圖背景變暗的窗口,但是我想調整該窗口的寬度(與iPhone Retina顯示屏的大小相同)。iPad上的UINavigationController大小

SettingsViewController *settingsController = [[SettingsViewController alloc] init]; 
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:settingsController]; 

[self presentModalViewController:navController animated:YES]; 

SettingsViewController包含一個UITableView與它看起來太寬的UINavigationController窗口的默認寬度,所以我需要要麼使窗口變窄或至少一些填充添加到下面的UITableView,因此各行沒有那麼寬。

任何解決方案/建議,將不勝感激。

+0

DONOT將navigationController作爲modalviewcontroller呈現。壞事會發生。調用[window addSubview:self.navController.view]; – CodaFi

+0

這將使視圖顯示全屏 - 我希望它顯示在窗口(在iPad上) –

回答

6

發現它在另一個線程How to resize a UIModalPresentationFormSheet?

我只需要將navController上的modalPresentationStyle設置爲UIModalPresentationFormSheet,並在呈現它之後修改超級視圖的幀大小和中心。

SettingsViewController *settingsController = [[SettingsViewController alloc] init]; 
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:settingsController]; 
navController.modalPresentationStyle = UIModalPresentationFormSheet; 

[self presentModalViewController:navController animated:YES]; 

navController.view.superview.frame = CGRectMake(0, 0, 200, 200); 
navController.view.superview.center = self.view.center; 
相關問題