简体   繁体   中英

Fill a RoundedRectangle with custom color

 RoundedRectangle(cornerRadius: 8, style: .continuous)
    .foregroundColor(Color.init(red: 255, green: 245, blue: 158))

My rounded rectangle is all white. Why can't I initiate a custom color? Whereas Color.red works perfectly fine?

You can write an extension to take Int s as parameters to Color initializer. It will allow you to use Color(red: 255, green: 245, blue: 158) :

extension Color {

    public init(red: Int, green: Int, blue: Int) {
        self = Color(red: Double(red)/255.0,
                     green: Double(green)/255.0,
                     blue: Double(blue)/255.0)
    }
}
Color.init(red: CGFloat, green: CGFloat, blue: CGFloat)

takes a 3 CGFloat s with values between 0 and 1

What you need is…

Color(red: 255/255, green: 245/255, blue: 158/255)

Note that the .init isn't required in Swift

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM