2011-10-18 16 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をモーダルビューコントローラとして提示します。悪いことが起こります。 [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; 
関連する問題