我知道从这个问题中获取细线 View 的方法,这是一个 UIImageView:How to hide iOS7 UINavigationBar 1px bottom line
但是,修改这个 View 的背景颜色是非常糟糕的体验,
像这样的代码:
[[self findHairlineImageViewUnder:self.navigationController.navigationBar] setBackgroundColor:[UIColor colorWithHexString"ff0000"]];
viewdidload
, viewwillapear
, viewDidLayoutSubviews
,它会在某些场景中恢复到原始颜色,例如在推和弹出之后。现在我发现在发际线的 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/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |