OStack程序员社区-中国程序员成长平台

标题: ios - 如何修改uinavigationbar的发际线颜色 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 09:52
标题: ios - 如何修改uinavigationbar的发际线颜色

我知道从这个问题中获取细线 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-推荐答案


现在我发现在发际线的 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