我知道从这个问题中获取细线 View 的方法,这是一个 UIImageView:How to hide iOS7 UINavigationBar 1px bottom line
但是,修改这个 View 的背景颜色是非常糟糕的体验, 像这样的代码:
[[self findHairlineImageViewUnder:self.navigationController.navigationBar] setBackgroundColor:[UIColor colorWithHexString"ff0000"]];
findHairlineImageViewUnder 方法来自上面的答案链接
这有效,但并非总是如此,甚至放入 viewdidload , viewwillapear , viewDidLayoutSubviews ,它会在某些场景中恢复到原始颜色,例如在推和弹出之后。
所以,我想问一下有没有什么完美的方法可以改变uinavigationbar的发际线颜色,谢谢。
Best Answer-推荐答案 strong>
现在我发现在发际线的 super View 中添加一个 subview 可以解决问题并且工作正常
UIView* sv= [[UIView alloc] initWithFrame:[self findHairlineImageViewUnder:self.navigationController.navigationBar].frame];
sv.backgroundColor=[UIColor colorWithHexString"ff0000"];
[[self findHairlineImageViewUnder:self.navigationController.navigationBar].superview addSubview:sv];
关于ios - 如何修改uinavigationbar的发际线颜色,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/32041776/
|