导航栏的渐变颜色
Gradient color to Navigationbar
我正在尝试将渐变颜色应用于 UINavigationBar.appearence()
。为此,我遵循了link。但是在添加 CAGradientLayer
class 的扩展后,我在 APPDelegate
class 中编写了以下代码行并完成了带有选项的启动。但是我收到类似 "Value of optional type UIImage?
must be unwrapped to a value of type 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),其次您需要使用以下代码将其设置为 backgroundImage。
UINavigationBar.appearance().setBackgroundImage(flareGradientImage, for:.default)
我正在尝试将渐变颜色应用于 UINavigationBar.appearence()
。为此,我遵循了link。但是在添加 CAGradientLayer
class 的扩展后,我在 APPDelegate
class 中编写了以下代码行并完成了带有选项的启动。但是我收到类似 "Value of optional type UIImage?
must be unwrapped to a value of type 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),其次您需要使用以下代码将其设置为 backgroundImage。
UINavigationBar.appearance().setBackgroundImage(flareGradientImage, for:.default)