我只需要在某些特定视图上更改导航栏的颜色。关于修改导航栏颜色的讨论很多,例如https://stackoverflow.com/a/18870519/938380,但是它们都改变了同一导航层次结构下每个视图上导航栏的颜色。
我想更改特定视图的颜色,并保持其他视图相同的颜色。我该如何实现?
如果使用标准导航栏,则无法执行。但是您可以使用一些作弊的;)例如,您可以将此代码(或类似的代码)添加到控制器中:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
oldColor = self.navigationController.navigationBar.backgroundColor;//probably barTintColor instead of backgroundColor
self.navigationController.navigationBar.backgroundColor = [UIColor yellowColor];
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
self.navigationController.navigationBar.backgroundColor = oldColor;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句