我在viewWillAppear
self.navigationController.navigationBar.frame = CGRectMake(0.0, 64.0, self.navigationController.view.bounds.size.width, 44.0);
它让我在吧台上面放了一个标志。
但是当我将应用程序转到背景并转回时,导航栏位置会重置为顶部。
我尝试了捕获UIApplicationWillEnterForegroundNotification
的addObserver并再次设置导航栏的框架。但它不起作用。
请帮忙, 非常感谢。
答案 0 :(得分:1)
您可以尝试更改NavigationBar
的外观,它会反映整个应用
[[UINavigationBar appearance] setFrame:];
您可以根据需要更改其背景图片
[[UINavigationBar appearance] setBackgroundImage:forBarMetrics:];
答案 1 :(得分:0)
我找到了解决方案。
子类UINavigationBar。
实施- (CGSize)sizeThatFits:(CGSize)size
方法更改导航栏大小。
,例如
- (CGSize)sizeThatFits:(CGSize)size {
CGSize newSize = self.window.bounds.size ;
newSize.height = 91;
return newSize;
}
它完美无缺。