【发布时间】:2014-01-02 15:26:46
【问题描述】:
如果我尝试使用以下代码向自定义 UINavigationController 中的导航栏添加视图:
- (void)viewDidLoad {
[super viewDidLoad];
self.sv = (MyCustomView *)[[[NSBundle mainBundle]loadNibNamed:@"MyCustomView" owner:self options:nil] objectAtIndex:0];
self.sv.frame = CGRectMake(self.navigationBar.frame.origin.x, self.navigationBar.frame.size.height, self.navigationBar.frame.size.width, heightOfMyCustomView);
[self.navigationBar addSubview:self.sv];
}
和
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
{
[super pushViewController:viewController animated:animated];
viewController.view.frame = CGRectMake(viewController.view.frame.origin.x, viewController.view.frame.origin.y + heightOfMyCustomView, viewController.view.frame.size.width, viewController.view.frame.size.height - heightOfMyCustomView);
}
当我推动控制器时,控制器视图的顶部被我添加到导航栏的自定义视图隐藏。 如何将控制器的视图放在自定义视图下方?
【问题讨论】:
-
你可能会有更好的运气继承 UINavigationBar 并使用
initWithNavigationBarClass:toolbarClass:初始化你的导航控制器。
标签: ios objective-c uinavigationcontroller uinavigationbar