自定义navigationBar的高度

原来看过一些解决办法,都不太好,最近解决自定义 tab bar的高度的问题,从中受到启发,找到下面的解决办法。

个人觉得和网上找到的其它方法比还是很简洁的。


关键是要调整navBarTransitionView 的frame。
调整此view的frame后,view controller的view的frame会随其自动调整高度。


float newHeight = 49;
self.navigationController.navigationBar.frame  = CGRectMake(
self.navigationController.navigationBar.frame.origin.x,
self.navigationController.navigationBar.frame.origin.y,
self.navigationController.navigationBar.frame.size.width,
newHeight 
);
UIView* navBarTransitionView = [self.navigationController.view.subviews objectAtIndex:0];
navBarTransitionView.frame = CGRectMake(0,
                   ,navBarTransitionView.frame.origin.y-(newHeight-44)
                    , 320
                     , navBarTransitionView.frame.size.height+(newHeight-44)
);

你可能感兴趣的:(iPhone)