ios - 导航栏的渐变颜色

标签 ios swift4.2

我正在尝试将渐变颜色应用于UINavigationBar.appearence()。为此,我遵循了link 。但是在添加 CAGradientLayer 类的扩展之后,我在 did finish launch with options in APPDelegate 类中编写了以下代码行。但我收到类似“可选类型 UIImage? 的值必须解包为 UIImage 类型的值”之类的错误。这里使用 UINavigationbar 。不是 Navigationcontroller

任何人都可以帮助我做到这一点,那就太好了。

// In AppDelegate Class

let navigationbar=UINavigationBar()
        let flareGradientImage = CAGradientLayer.primaryGradient(on: navigationbar)
        UINavigationBar.appearance().tintColor = UIColor(patternImage: flareGradientImage)



        UINavigationBar.appearance().tintColor = UIColor.white
        UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.foregroundColor:UIColor.white]

最佳答案

首先,您的 CAGradientLayer 扩展正在获取导航栏的边界。仅初始化 UINavigationBar() 是行不通的,因为它的边界将为 (0,0,0,0),其次您需要使用下面的代码将其设置为背景图像。

UINavigationBar.appearance().setBackgroundImage(flareGradientImage, for:.default)

关于ios - 导航栏的渐变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56766552/

相关文章:

ios - Xcode UITest无法测试微信登录

ios - 将图像数组转换为视频时出现问题

ios - Xcode 10 无效的二进制架构?

swift - 索引后随机排列数组

c++ - (iOS) 如何从 C++ 应用程序获取 UIViewController?

ios - 模态视图在关闭后重新出现

ios - UIActionSheet 不显示行分隔符

ios - 如何使用 swift 4.2 在泛型类中创建 Singleton?

ios - 如何修复返回 nil 的扩展实例?

ios - 自动布局,UiScrollView 内的 UITableView 不会增长