原来看过一些解决办法,都不太好,最近解决自定义 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) );