iPad上的UINavigationController大小

Mik*_*ine 0 objective-c ipad ios

我在调整iPad上的UINavigationController大小时遇到​​问题(iOS 4.3.5).在平板电脑的大屏幕上,它显示为一个窗口,全屏视图的背景变暗,但我想调整该窗口的宽度(与iPhone Retina显示屏的大小相同).

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

[self presentModalViewController:navController animated:YES];
Run Code Online (Sandbox Code Playgroud)

SettingsViewController包含一个UITableView,并且UINavigationController窗口的默认宽度看起来太宽,所以我需要使窗口更窄或者至少为底层的UITableView添加一些填充,这样行就不会那么宽.

任何解决方案/建议将不胜感激.

Mik*_*ine 6

在另一个线程中找到它如何调整UIModalPresentationFormSheet的大小?.

我只需要将navController上的modalPresentationStyle设置为UIModalPresentationFormSheet,并在呈现后修改superview框架的大小和中心.

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;
Run Code Online (Sandbox Code Playgroud)