我希望我的导航控制器仅占用一半的屏幕。这可能吗?在IB中,当我拖动鼠标时,它迫使我填满整个屏幕,无法调整其大小。如果不可能,是否有其他选择?
谢谢。

最佳答案

您可以但只能在iOS 5中执行此操作,因为当我尝试在UINavigation控制器中执行任何类型的直接视图操作而不是推入或弹出另一个视图控制器时。导航控制器将不会显示它们。

这是您需要做的。

-(void)viewDidLoad {
     UINavigationController * navController = [[UINavigationController alloc] initWithRootViewController:[[UIViewController alloc] initWithNibName:nil bundle:nil]];
     //Used to recieve callbacks (like shouldAutorotateToInterfaceOrientation:)
     [self addChildViewController:navController];
     //View manipulation
     navController.view.frame = CGRectInset(navController.view.frame, 20, 20);
     [self.view addSubview:navController.view];
     //Calls all the standard methods (viewDidLoad,viewDidUnload,etc.)
     [navController didMoveToParentViewController:self];
}

另外,如果您的注册开发人员在View Controller Containers上有一个非常不错的视频,那么对WWDC来说,这可能对您有所帮助。

关于objective-c - 调整UINavigationController的大小?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6105610/

10-14 14:05