ios – 全局设置UINavigationBar?

ios – 全局设置UINavigationBar?,第1张

概述我正在尝试使用下面的代码全局更改UINavigationBar实例,该代码位于DidFinishLaunchingWithOptions(:_); let navBarApp = UINavigationBar.appereance()navBarApp.barTintColor = UIColor.mmtRed 但结果却是; 从图中可以看出,颜色是不同的,意思是相同的. (按钮的颜色是我想要导 我正在尝试使用下面的代码全局更改UINavigationbar实例,该代码位于DIDFinishLaunchingWithOptions(:_);

let navBarapp = UINavigationbar.appereance()navBarapp.barTintcolor = UIcolor.mmtRed

但结果却是;

从图中可以看出,颜色是不同的,意思是相同的. (按钮的颜色是我想要导航栏的颜色.)

当我添加代码如下:

navBarapp.isTranslucent = false

结果是;

颜色现在一样,但UINavigationbar和mainVIEw之间有一个奇怪的差距.那么我该如何解决呢?有什么想法吗?

编辑:

忘了提到我正在使用图书馆PageMenu也许这会产生某种影响?

解决方法 尝试在vIEwController的vIEwDIDLoad()中自动设置此属性AdjustsScrollVIEwInsets

overrIDe func vIEwDIDLoad() {    automaticallyAdjustsScrollVIEwInsets = false}

或者更好地确保调整滚动视图插入在所有控制器中都是未选中的

如果在rootVIEwController中设置,请确保在子控制器中不覆盖此属性

更新:

上述解决方案应该适用于大多数场景,或者您可以设置backGroundImage而不是像@WilsonXJ答案中那样使条形半透明.

您可以使用扩展程序

extension UIImage {   static func imageWithcolor(tintcolor: UIcolor) -> UIImage {        let rect = CGRect(x: 0,y: 0,wIDth: 1,height: 1)        UIGraphicsBeginImageContextWithOptions(rect.size,false,0)        tintcolor.setFill()        UIRectFill(rect)        let image: UIImage = UIGraphicsGetimageFromCurrentimageContext()!        UIGraphicsEndImageContext()        return image    }}

用它作为

navBarapp.setBackgroundImage(UIImage.imageWithcolor(tintcolor: <Custom color>),for: .default)
总结

以上是内存溢出为你收集整理的ios – 全局设置UINavigationBar?全部内容,希望文章能够帮你解决ios – 全局设置UINavigationBar?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1031018.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存