原來看過一些解決辦法,都不太好,最近解決自定義 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)
);