我正在尝试添加UINavigationController
作为 subview Controller ,然后为其提供比其父框架更小的框架。但是,更改导航 Controller 的框架不会正确更改导航 Controller 的根 View Controller 的框架。
用viewDidLoad
RootController *rootController = [[RootController alloc] init];
_navController = [[UINavigationController alloc] initWithRootViewController:rootController];
[rootController release];
[self addChildViewController:_navController];
[self.view addSubview:_navController.view];
[_navController didMoveToParentViewController:self];
然后,在
viewWillAppear:
中:CGRect bounds = self.view.bounds;
bounds.origin.x = 20;
bounds.origin.y = 20;
bounds.size.width = bounds.size.width - 20;
bounds.size.height = bounds.size.height - 20;
_navController.view.bounds = bounds;
正确放置导航栏后,根 View Controller 的白色背景却没有。我到底在做什么错?谢谢你的帮助。
最佳答案
如果您在将 subview Controller 添加到父 View 后立即在viewDidLoad
中执行此操作,则它实际上可以工作:
_navController.view.frame = CGRectInset(self.view.bounds, 20, 20);
关于ios - 设置添加为 subview Controller 的导航 Controller 的框架,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13544375/