iPad上的SwiftUI导航栏背景渐变

iPad上的SwiftUI导航栏背景渐变,ipad,swiftui,uinavigationbar,gradient,Ipad,Swiftui,Uinavigationbar,Gradient,我正在将我的UIKit应用程序传递给SwiftUI,并努力使其正常工作 我想在我的双栏iPad显示屏的每个导航栏上设置一个从左到右的渐变 我尝试过各种各样的方法,但从未完全成功。使用Friday的答案 , 我实现了备受赞赏的梯度: extension UINavigationController { override open func viewDidLoad() { super.viewDidLoad() l

我正在将我的UIKit应用程序传递给SwiftUI,并努力使其正常工作

我想在我的双栏iPad显示屏的每个导航栏上设置一个从左到右的渐变


我尝试过各种各样的方法,但从未完全成功。

使用Friday的答案 , 我实现了备受赞赏的梯度:

extension UINavigationController {
    
    override open func viewDidLoad() {
        
        super.viewDidLoad()
        
        let gradient = CAGradientLayer()
        
        gradient.frame = self.view.bounds
        gradient.colors = [UIColor(Colors.red).cgColor, UIColor(Colors.orange).cgColor]
        gradient.startPoint = CGPoint(x: 0.0, y: 0.5)
        gradient.endPoint = CGPoint(x: 1.0, y: 0.5)
        
        let standard = UINavigationBarAppearance()
        standard.backgroundImage = gradient.toImage()

        let compact = UINavigationBarAppearance()
        compact.backgroundImage = gradient.toImage()

        let scrollEdge = UINavigationBarAppearance()
        scrollEdge.backgroundImage = gradient.toImage()

        self.navigationBar.standardAppearance = standard
        self.navigationBar.compactAppearance = compact
        self.navigationBar.scrollEdgeAppearance = scrollEdge
        
    }
    
}