SwiftUI 教程

SwiftUI - 主页 SwiftUI - 概览 SwiftUI 与 UIkit

SwiftUI 环境

SwiftUI - 环境设置 SwiftUI - 基本组件 SwiftUI - 构建第一个应用程序

SwiftUI 视图

SwiftUI - 视图 SwiftUI - 自定义文本视图 SwiftUI - 自定义图像视图 SwiftUI - 堆栈

SwiftUI 绘制形状

SwiftUI - 形状 SwiftUI - 绘制线条 SwiftUI - 绘制矩形 SwiftUI - 绘制圆角矩形 SwiftUI - 绘制三角形 SwiftUI - 绘制圆形 SwiftUI - 绘制星形 SwiftUI - 绘制多边形 SwiftUI - 绘制饼图 SwiftUI - 使用内置形状

SwiftUI - 文本

SwiftUI - 文本视图 SwiftUI - 文本输入和输出

SwiftUI - 颜色

SwiftUI - 颜色 SwiftUI - 颜色选择器 SwiftUI - 渐变 SwiftUI - 调整颜色

SwiftUI - 效果

SwiftUI - 效果 SwiftUI - 混合效果 SwiftUI - BLur 效果 SwiftUI - 阴影效果 SwiftUI - 悬停效果

SwiftUI - 动画

SwiftUI - 动画 SwiftUI - 创建动画 SwiftUI - 创建显式动画 SwiftUI - 多个动画 SwiftUI - 过渡 SwiftUI - 不对称过渡 SwiftUI - 自定义过渡

SwiftUI - 图像

SwiftUI - 图像 SwiftUI - 图像作为背景 SwiftUI - 旋转图像 SwiftUI - 媒体

SwiftUI - 视图布局

SwiftUI - 视图布局 SwiftUI - 视图大小 SwiftUI - 视图间距 SwiftUI - 视图填充

SwiftUI - UI 控件

SwiftUI - UI 控件 SwiftUI - 按钮 SwiftUI - 复选框 SwiftUI - 菜单栏 SwiftUI - 工具栏 SwiftUI - 搜索栏 SwiftUI - 文本字段 SwiftUI - 滑块 SwiftUI - 切换 SwiftUI - 选择器 SwiftUI - 菜单

SwiftUI - 列表 &表格

SwiftUI - 列表 SwiftUI - 静态列表 SwiftUI - 动态列表 SwiftUI - 自定义列表 SwiftUI - 表格

SwiftUI - 表单

SwiftUI - 表单 SwiftUI - 在部分中拆分表单

SwiftUI - 事件处理

SwiftUI - 事件处理 SwiftUI - 手势 SwiftUI - 剪贴板 SwiftUI - 拖放 SwiftUI - 焦点 SwiftUI - 警报

SwiftUI - 杂项

SwiftUI - 容器 SwiftUI - 导航 SwiftUI - 通知 SwiftUI - 跨平台 UI SwiftUI - 数据 SwiftUI - 可访问性

SwiftUI - 框架集成

SwiftUI - 框架集成 SwiftUI - 与 UIKit 交互 SwiftUI - 创建 macOS 应用

SwiftUI 有用资源

SwiftUI - 有用资源 SwiftUI - 讨论


SwiftUI - 调整颜色

调整颜色是 SwiftUI 开发人员使用的最基本效果,通过调整颜色来增强指定视图(如图像、文本和形状)的效果。

SwiftUI 支持以下修饰符来增强指定视图中颜色的外观。这些修饰符可以很好地与图像、文本、形状、UIComponents 等视图配合使用。

  • .colorMultiply
  • .saturation
  • .brightness
  • .contrast
  • .hueRotation

SwiftUI 中的".colorMultiply"修饰符

.colorMultiply(_:)修饰符用于通过将指定的颜色与当前视图的每个像素相乘来对视图或图像执行混合效果。

这里的乘法是根据通道基础进行的:红色、绿色、蓝色和 alpha。

语法

以下是语法 −

func colorMultiply(_color:Color) -> some View

此处,此修饰符仅接受一个参数,即我们想要与当前视图相乘的颜色。

示例

以下 SwiftUI 程序用于对给定图像应用颜色乘法效果。

import SwiftUI

struct ContentView: View {
   var body: some View {
      VStack {
         Text("Original Image:")
            .font(.largeTitle)
         Image("wallpaper")
            .resizable()
            .clipShape(Rectangle())
            .frame(width: 300, height: 250)

         Text("Color Multiply")
            .font(.largeTitle)
         Image("wallpaper")
            .resizable()
            .clipShape(Rectangle())
            .frame(width: 300, height: 250)
            .colorMultiply(.pink)
      }
   }
}
#Preview {
   ContentView()
}

输出

调整效果

SwiftUI 中的".saturation"修饰符

.saturation修饰符用于调整指定视图(如图像、文本、形状等)中颜色的强度。饱和度的增加使颜色更亮,而饱和度的减少使颜色变暗或呈灰度。

语法

以下是语法 −

func saturation(_amount:Double) -> some View

此处,此修饰符仅接受一个参数,即我们想要在指定视图中达到的饱和度视图。

示例

以下 SwiftUI 程序用于对给定图像应用饱和度效果。

import SwiftUI

struct ContentView: View {
   var body: some View {
      VStack {
         Text("Original Image:")
            .font(.largeTitle)
         Image("wallpaper")
            .resizable()
            .clipShape(Rectangle())
            .frame(width: 300, height: 250)

         Text("Saturation:")
            .font(.largeTitle)
         Image("wallpaper")
            .resizable()
            .clipShape(Rectangle())
            .frame(width: 300, height: 250)
            .saturation(6.0)
      }
   }
}

#Preview {
   ContentView()
}

输出

调整效果

SwiftUI 中的".contrast"修饰符

.contrast 修饰符用于设置当前视图的对比度。它通常用于在指定视图中存在的颜色的明暗区域之间创建差异。

语法

以下是语法 −

funccontrast(_amount:Double) -> some View

此处,此修饰符仅接受一个参数:我们想要在指定视图中达到的对比度。如果值为负数,则会反转颜色并应用对比度。

示例

以下 SwiftUI 程序用于对给定的图像应用对比效果。

import SwiftUI

struct ContentView: View {
   var body: some View {
      VStack {
         Text("Original Image:")
            .font(.largeTitle)
         Image("wallpaper")
            .resizable()
            .clipShape(Rectangle())
            .frame(width: 300, height: 250)

         Text("Contrast:")
            .font(.largeTitle)
         Image("wallpaper")
            .resizable()
            .clipShape(Rectangle())
            .frame(width: 300, height: 250)
            .contrast(5.0)
      }
   }
}

#Preview {
   ContentView()
}

输出

调整效果

SwiftUI 中的".brightness"修饰符

.brightness修饰符用于设置当前视图的亮度。使用亮度效果,我们可以通过增加或减少光线使指定的视图变亮或变暗。

语法

以下是语法 −

func bright(_amount:Double) -> some View

此处,此修饰符仅接受一个参数,即我们想要在指定视图中达到的亮度量。此参数的值在 0(无效果)和 1(全白亮度)之间变化。

示例

以下 SwiftUI 程序用于对给定的图像应用亮度效果。

import SwiftUI

struct ContentView: View {
   var body: some View {
      VStack {
         Text("Original Image:")
            .font(.largeTitle)
         Image("wallpaper")
            .resizable()
            .clipShape(Rectangle())
            .frame(width: 300, height: 250)

         Text("Brightness:")
            .font(.largeTitle)
         Image("wallpaper")
            .resizable()
            .clipShape(Rectangle())
            .frame(width: 300, height: 250)
            .brightness(0.8)
      }
   }
}

#Preview {
   ContentView()
}

输出

调整效果

SwiftUI 中的".hueRotation"修饰符

.hueRotation修饰符用于将色调旋转效果设置为给定的视图。它根据给定的角度移动视图内的所有颜色。

语法

以下是语法 −

func hueRotation(_angle:Angle) -> some View

此处,此修饰符仅接受一个参数,即将应用于指定视图的色调旋转角度。

指定视图中我们想要的亮度的安装。此参数的值在 0(无效果)和 1(全白亮度)之间变化。

示例

以下 SwiftUI 程序用于对给定的图像应用色调旋转效果。

import SwiftUI

struct ContentView: View {
   var body: some View {
      VStack {
         Text("Original Image:").font(.largeTitle)
         Image("wallpaper")
            .resizable()
            .clipShape(Rectangle())
            .frame(width: 300, height: 250)
         Text("Hue Rotation:").font(.largeTitle)
         Image("wallpaper")
            .resizable()
            .clipShape(Rectangle())
            .frame(width: 300, height: 250)
            .hueRotation(Angle(degrees: 75))
      }
   }
}
#Preview {
   ContentView()
}

输出

调整效果