这一节咱们来说说色彩,在这个世界上色彩让咱们的生活变的多彩多姿,世界由于有了多种色彩,才变得美不胜收。那么咱们该怎么在 SwifUI 中去运用色彩呢,接下来咱们就一起看看吧。

咱们还是用 RounderdRectangle 来做比如,当咱们声明一个圆角矩形时,体系会自动运用体系的色彩黑色来填充色彩,不过这个是在Light形式下的色彩,在Dark形式下,它的色彩是白色

struct ColorSample: View {
    var body: some View {
        RoundedRectangle(cornerRadius: 25.0)
            .fill()
            .frame(width: 300, height: 200)
    }
}

让咱们来看看详细作用

左图为Dark形式,右图为Light形式

Color inSwiftUI

那么该怎么去切换形式呢,接着往下看

Color inSwiftUI

咱们能够点击 预览区域的下面部分切换按钮,当你点击时就会呈现一个框。这时咱们就能够来切换形式了。注意红色框和箭头的指向

怎么运用自定义色彩

一般咱们的设计师会给出对应的色彩色值,咱们能够在Xcode便利设置色彩,然后在代码中运用对应的称号即可显现色彩

去创立一个色彩

咱们找到 Assets.xcassets 点击左下角的 + 号,然后挑选 Color set

Color inSwiftUI

取一个称号,例如:CustomeColor,最初创立好,默认的Dark和Light色彩都是白色,你能够点击右边拦,进行Color的更改

Color inSwiftUI

Color inSwiftUI
在代码中去运用

Color inSwiftUI
把称号输入 name 的占位符部分,即可检查作用

struct ColorSample: View {
    var body: some View {
        RoundedRectangle(cornerRadius: 25.0)
            .fill(
                Color("CustomColor")
            )
            .frame(width: 300, height: 200)
    }
}

Color inSwiftUI

Dark & Light作用

办法二

你能够定义一个变量var color = #colorLiteral 当你输入var color = #colorLiteral 时,不会有任何变化,此刻不要慌,你只需要按下括号,也便是 ( ,然后你定义的变量就会变成这样

Color inSwiftUI
此刻你只需要双击占位图片,就能够弹出一个色彩挑选框,这时你能够挑选你想要的任何色彩,点击 Other 按钮会有更多色彩提供
Color inSwiftUI
有时你想运用 Hex Color,那么你能够点击 Other 按钮,切换到第二栏,就能够在下方输入Hex值了

Color inSwiftUI

色彩定义好了之后,你只需要把变量的称号写在 Color 括号里面就能够了。

    struct ColorSample: View {
        var color = #colorLiteral(red: 0, green: 0.8470588235, blue: 0.6431372549, alpha: 1)
        var body: some View {
            RoundedRectangle(cornerRadius: 25.0)
                .fill(
                    Color(color)
                )
                .frame(width: 300, height: 200)
        }
    }

你也能够运用 UIColor 来填充色彩,这里和UIColor一样,就不再多说了

    struct ColorSample: View {
        var color = #colorLiteral(red: 0, green: 0.8470588235, blue: 0.6431372549, alpha: 1)
        var body: some View {
            RoundedRectangle(cornerRadius: 25.0)
                .fill(
                    Color(UIColor.red)
                )
                .frame(width: 300, height: 200)
        }
    }

Color inSwiftUI

这一节首要说了Color的运用,多点点就能够把握