iOS 11 导航栏的标题 View 和栏按钮项目未居中。 背景图片的高度也没有改变,也没有完整显示。条形高度为 74。
我试过了
if(@available(iOS 11,*)){
_homeNavigationBar.prefersLargeTitles = NO;
_homeNavigationItem.largeTitleDisplayMode = UINavigationItemLargeTitleDisplayModeNever;
[_homeNavigationBar setBarTintColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"navbarBg.png"]]];
}
else{
[_homeNavigationBar setBackgroundImage:[UIImage imageNamed:@"navbarBg.png"] forBarMetrics:UIBarMetricsDefault];
}
但我仍然无法将标题和栏按钮项目居中。
知道如何解决这个问题吗?请告诉我。谢谢
最佳答案
对导航栏进行子类化对我有用。
- (void)layoutSubviews {
[super layoutSubviews];
for (UIView *view in self.subviews) {
if([NSStringFromClass([view class]) containsString:@"Background"]) {
view.frame = self.bounds;
}
else if ([NSStringFromClass([view class]) containsString:@"ContentView"]) {
CGRect frame = view.frame;
frame.origin.y = 25;
view.frame = frame;
}
}
}
关于iOS 11 UINavigationBar 搞砸了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46523085/