當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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(_:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。