当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Swift Never contrast(_:)用法及代码示例


实例方法

contrast(_:)

设置此视图中相似颜色之间的对比度和分离度。

声明

func contrast(_ amount: Double) -> some View

返回值

将颜色对比应用于此视图的视图。

参数

amount

要应用的颜色对比度的强度。除了应用对比度之外,负值还会反转颜色。

详述

对视图应用对比度以增加或减少视图中相似颜色之间的分隔。

在下面的示例中,contrast(_:) 修饰符应用于一组红色正方形,每个正方形包含一个对比鲜明的绿色内圈。在循环中的每一步,contrast(_:) 修饰符都会以 20% 的增量更改圆形/方形视图的对比度。范围从 -20% 对比度(产生反转颜色 - 将红色方块变为pale-green,将绿色圆圈变为淡紫色),到 0% 时的 neutral-gray,到 100% 对比度(bright-red 正方形 /bright-green 圆)。应用负对比度值,如 -20% 方块所示,除了反转颜色外,还将应用对比度。


struct CircleView: View {
    var body: some View {
        Circle()
            .fill(Color.green)
            .frame(width: 25, height: 25, alignment: .center)
    }
}


struct Contrast: View {
    var body: some View {
        HStack {
            ForEach(-1..<6) {
                Color.red.frame(width: 50, height: 50, alignment: .center)
                    .overlay(CircleView(), alignment: .center)
                    .contrast(Double($0) * 0.2)
                    .overlay(Text("\(Double($0) * 0.2 * 100, specifier: "%.0f")%")
                                 .font(.callout),
                             alignment: .bottom)
                    .border(Color.gray)
            }
        }
    }
}

可用版本

iOS 13.0+, iPadOS 13.0+, macOS 10.15+, Mac Catalyst 13.0+, tvOS 13.0+, watchOS 6.0+

相关用法


注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Never contrast(_:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。