扫码阅读
手机扫码阅读

【SwiftUI系列】14.Stepper控件的使用

180 2024-07-13

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:【SwiftUI系列】14.Stepper控件的使用
文章来源:
程序员华仔
扫码关注公众号
Stepper控件摘要

Stepper控件介绍

继DatePicker控件介绍后,本文关注另一个用户界面控件:Stepper控件。这一控件用于递增和递减数据,常见于计数器、滑块等场景。Stepper步进器与UIKit中UIStepper类似,用于实现数值的增减。

Stepper的基础用法和自定义选项

文章分为两部分:Stepper的基础用法以及自定义Stepper的范围和步长。

1. Stepper的基础用法

Stepper的默认步长为1,取值范围没有限制。可以使用这个特性来实现一个简单的计数器功能。下面是一个示例代码:


struct ContentView: View {
    @State private var totalCount = 0
    var body: some View {
        VStack {
            Stepper("Total Count:", value: $totalCount)
        }
        .padding(30)
    }
}

代码中使用@State来记录计数器的值,当Stepper控件的+或-被点击时,totalCount也相应变化。

Stepper控件构造方法的特别注意点包括:onIncrement和onDecrement闭包用于数值的增减,以及onEditingChanged逃逸闭包用于完成操作后的事件响应。

2. 自定义Stepper的范围和步长

虽然Stepper默认步长为1,范围无限,但是可以通过构造函数自定义这些值。下面提供了自定义范围和步长的示例:


// 设置范围和步长增长
struct ContentView: View {
    @State private var value = 0
    var body: some View {
        //设置范围为 0 到 100
        //步长为 5
        Stepper(value: $value, in: 0...100, step: 5) { (isEditing) in
            print("onEditingChange....isEditing: \(isEditing)")
        } label: {
            Text("当前值为:\(value)")
        }
    }
}

示例代码中设定了范围为0到100,步长为5。还建议使用变量控制范围和步长以提高扩展性。

另一个示例代码演示了如何通过自定义的范围和步长来创建颜色展示器。

想要了解更多内容?

查看原文:【SwiftUI系列】14.Stepper控件的使用
文章来源:
程序员华仔
扫码关注公众号