gpt4 book ai didi

ios - 全局设置 UINavigationBar?

转载 作者:搜寻专家 更新时间:2023-10-31 19:37:30 25 4
gpt4 key购买 nike

我正在尝试使用 DidFinishLaunchingWithOptions(:_) 中的以下代码全局更改 UINavigationBar 实例;

let navBarApp = UINavigationBar.appereance()
navBarApp.barTintColor = UIColor.mmtRed

但结果是;

figure1

从图片中可以看出,颜色不同意味着相同。 (按钮的颜色是我希望我的导航栏具有的颜色。)

当我添加如下代码时:

navBarApp.isTranslucent = false

结果是;

figure2

现在颜色相同,但 UINavigationBarmainView 之间存在奇怪的差距。那么我该如何解决呢?有什么想法吗?

编辑:

忘记提到我正在使用一个库 PageMenu也许这有某种影响?

最佳答案

尝试在 viewController 的 viewDidLoad()

中设置此属性 automaticallyAdjustsScrollViewInsets
override func viewDidLoad() {
automaticallyAdjustsScrollViewInsets = false
}

或者更好地确保所有 Controller 中的 Adjust Scroll View insets 都未选中

enter image description here

如果在 rootViewController 中设置,请确保此属性不会在子 Controller 中被覆盖

更新:

上述解决方案应该适用于大多数情况,或者您可以设置 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?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40845763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com