SwiftUI:使用自定义类将线性渐变应用于形状

问题描述 投票:0回答:2

如何将线性渐变应用于在形状上创建的自定义类?由于某种原因,它对我不起作用。前景色不适用于我。

  RoundedRectangle(cornerRadius: 30)
                            .frame(width: geometry.size.width * 1.01, height:geometry.size.height * 0.23)
                            .rotationEffect(.degrees(12), anchor: .center)
                            .foregroundColor(LinearGradient (gradient: Gradient(colors:[Color(ColorsSaved.gitLabDark),Color(ColorsSaved.gitLabLight)]),startPoint: .leading,endPoint: .trailing))

我在Swift文件中创建了CustomClass。请参见下面的代码。

import Foundation
import UIKit

struct ColorsSaved {
static let gitLabDark = UIColor( red: 0.12, green: 0.08, blue: 0.22, alpha: 1.0)
static let gitLabLight = UIColor( red: 0.26, green: 0.2, blue: 0.44, alpha: 1.0)
static let neonGreen =  UIColor(red: 0.497, green: 0.738, blue: 0.35, alpha: 1)
static let darkGreenTorquise = UIColor(red: 0.242, green: 0.683, blue: 0.577, alpha: 1)
static let brightOrange =   UIColor(red: 0.917, green: 0.469, blue: 0.218, alpha: 1)
swiftui shapes linear-gradients
2个回答
0
投票

SwiftUI中的Gradient s应该在ZStack的帮助下添加。由于您没有在问题中添加太多代码,因此我做出了假设。在您的自定义视图中尝试:

struct WelcomeView: View {
    var body: some View {
        ZStack {
            LinearGradient(gradient: Gradient(colors: [.pink, .purple]), startPoint: .leading, endPoint: .trailing)
            // here goes your other view component
            Text("Welcome, John")
        }
    }
}


0
投票

如果我正确理解了您的意图,我将采用以下方法。

© www.soinside.com 2019 - 2024. All rights reserved.