📜  swiftui 中的按钮 - Swift (1)

📅  最后修改于: 2023-12-03 14:47:48.059000             🧑  作者: Mango

SwiftUI中的按钮

SwiftUI是Apple推出的一种新的用户界面开发框架,它提供了一些内置的UI组件,其中之一便是按钮。按钮是iOS和macOS中常用的控件之一,用于触发某个操作或执行某个动作。

在SwiftUI中,我们可以使用Button组件来创建按钮,并且这些按钮相当灵活,可以带有不同的样式、填充、边缘等等。下面是一个简单示例:

Button("点击我") {
    // 点击按钮时执行的代码
}

我们可以在按钮上写上文本,还可以给按钮添加一个闭包,这个闭包中存放的是点击按钮时执行的代码。这些都与UIKit中的UIButton类似。

接下来,我们来看一下一些常用的Button属性和修饰符:

按钮的样式

SwiftUI中的按钮有一些内置样式,我们可以使用buttonStyle()方法来应用它们。例如,我们可以使用.bordered样式创建一个带有边线的按钮:

Button("点击我") {
    // 点击按钮时执行的代码
}
.buttonStyle(BorderlessButtonStyle())

其中,.buttonStyle()方法接收一个实现了ButtonStyle协议的对象。在这个例子中,我们使用BorderlessButtonStyle来指定了一个没有边界的按钮样式。

SwiftUI中还有一些其他的样式,比如.tinted样式可以创建一个带有tint color的按钮,.borderedProminent样式可以创建一个加粗的白色边框按钮,.plain样式可以创建一个没有样式的按钮。

按钮的填充

我们可以使用.padding()方法来给按钮添加填充。例如,下面的代码创建了一个四周都有10个点的填充的按钮:

Button("点击我") { 
  // 点击按钮时执行的代码
}
.padding(10)

.padding()还可以接受不同的参数,来指定不同方向的填充大小,例如.padding(.leading, 10)表示在左侧添加一个大小为10的填充。

按钮的边缘

我们可以给按钮指定不同的边缘样式,来使它看起来更有特色。例如,下面的代码创建了一个带有圆角边缘的按钮:

Button("点击我") {
    // 点击按钮时执行的代码
}
.clipShape(RoundedRectangle(cornerRadius: 10))

.clipShape()方法用于设置按钮的外形,这里我们使用了RoundedRectangle来创建了一个圆角矩形的外形。

按钮的状态

在SwiftUI中,按钮有几种状态,包括正常状态、按下状态、高亮状态等等。我们可以使用不同的修饰符来设置这些状态下的按钮样式。

例如,.buttonStyle(.bordered)可以设置按钮在正常状态下的边框样式,.buttonStyle(ScaleButtonStyle(scaleFactor: 1.5))可以设置按钮在按下状态下的缩放比例等等。

总结

SwiftUI中的按钮非常灵活,我们可以根据需要自由地定制按钮的样式和外观。在使用的过程中,要注意适时给按钮添加填充、边缘样式等等,来使它看起来更美观。