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 - Slider 滑块

Slider 也是 SwiftUI 中的一个 UI 控件,它允许用户通过拖动滑动条中的给定符号从连续范围中选择一个值。滑块的端点代表最大值和最小值。它通常用于调整应用程序中的声音、亮度等。

在 SwiftUI 中创建滑块

在 SwiftUI 中,我们可以使用预定义的滑块视图创建滑块控件。就像其他 UI 控件一样,它也需要一个表示滑块当前状态的出价值和用户选择值之间的范围。

语法

以下是滑块的基本语法 −

Slider(
   value: Binding<V>,
   in bounds: ClosedRange<V>,
   step: V.Stride = 1,
   onEditingChanged: @escaping (Bool) -> Void = { _ in }
) where V : BinaryFloatingPoint, V.Stride : BinaryFloatingPoint

参数

此视图使用以下参数 −

  • value: 表示给定范围内的选定值。

  • bounds: 表示有效范围。

  • step: 表示每个值之间的距离。

  • onEditingChanged: 表示编辑开始或结束时调用的闭包。

示例 1

以下 SwiftUI 程序创建了一个简单的滑块。

import SwiftUI

struct ContentView: View {
   @State private var input : Float = 0.0
   var body: some View {
      VStack{
         Text("Adjust Brightness")
         Slider(value: $input, in: 0...20)
      }
   }
}   
#Preview {
   ContentView()
}

输出

Slider

示例 2

以下 SwiftUI 程序创建了多个具有步进的滑块。这里,第一个滑块设置为 step = 2,这意味着滑块将移动 2 个单位,而第二个滑块设置为 step = 1,这意味着滑块将移动 1 个单位。

import SwiftUI
struct ContentView: View {   
   @State private var input1 : Float = 0.0
   @State private var input2 : Float = 0.0
   
   var body: some View {
      VStack{
         Text("Product Quantity")
         Slider(value: $input1, in: 1...20, step: 2)
         Text("Product Amount")
         Slider(value: $input2, in: 1...15, step: 1)
      }
   }
}
   
#Preview {
   ContentView()
}

输出

Slider

示例 3

以下 SwiftUI 程序用于自定义滑块视图。在这里,我们使用 minimumValueLabel 和 maximumValueLabel 显示端点的最小值和最大值。此外,使用 tint() 修饰符将滑块的颜色更改为绿色。

import SwiftUI
struct ContentView: View {   
   @State private var input : Float = 0.0
   var body: some View {
      VStack{
         Text("Product Quantity")
         Slider(value: $input, in: 1...20, step: 2){
            Text("Slider")
         }minimumValueLabel: {
            Text("0").font(.title2)
         }maximumValueLabel: {
            Text("20").font(.title2)
         }.tint(.green)
      }
   }
}   
#Preview {
   ContentView()
}

输出

Slider