欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Button 按钮(SwiftUI中文文档手册)

程序员文章站 2024-03-24 14:56:04
...

Button

在触发时执行操作的控件。

struct Button<Label> where Label : View

总览

您可以通过提供操作和标签来创建按钮。操作是方法或闭包属性,当用户单击或点击按钮时,该操作会执行某些操作。标签是描述按钮操作的视图,例如,通过显示诸如“取消”之类的文本或诸如“后退箭头”之类的图标来描述。

Button(action: signIn) {
    Text("Sign In")
}

对于纯文本标签的常见情况,可以使用便捷初始化程序,该初始化程序将标题字符串(或本地化的字符串键)作为其第一个参数,而不是尾随闭包:

Button("Sign In", action: signIn)

触发按钮的方法因平台而异:

在iOS和watchOS中,用户通过点击来触发标准按钮。

在macOS中,用户通过单击触发标准按钮。

在tvOS中,用户可以通过在按下Siri Remote之类的外部遥控器上同时按“选择”按钮来触发标准按钮。

向容器添加按钮

将按钮用于任何在按下时触发操作的用户界面元素。按钮会自动调整其视觉样式,以匹配这些不同容器和上下文中的预期样式。例如,要创建一个列表单元格,当用户选择该单元格时会触发操作,请在列表内容中添加一个按钮。例如:

// A list of items, where the last row, when triggered,
// opens a UI for adding a new item.
List {
    ForEach(items) { item in
        Text(item.title)
    }
    Button("Add Item", action: addItem)
}

同样,要创建触发动作的上下文菜单项,请在菜单内容中添加一个按钮:

.contextMenu {
    Button("Cut", action: cut)
    Button("Copy", action: copy)
    Button("Paste", action: paste)
}

此模式扩展到SwiftUI中大多数其他具有可定制的交互式内容的容器视图,例如表单(的实例Form)。

样式按钮

您可以自定义按钮的外观和交互行为。要添加具有标准交互行为的自定义外观,请创建符合协议的样式。要自定义外观和交互行为,请创建符合协议的样式。要为视图中的所有按钮实例设置特定样式,请使用修饰符:ButtonStylePrimitiveButtonStylebuttonStyle(_????


HStack {
    Button("Sign In", action: signIn)
    Button("Register", action: register)
}
.buttonStyle(BorderedButtonStyle())

主题


创建一个按钮

1、init(action: () -> Void, label: () -> Label)

创建一个显示自定义标签的按钮。

2、init< S >(S, action: () -> Void)

创建一个从字符串生成其标签的按钮。
当可用Label的Text。

3、init(LocalizedStringKey, action: () -> Void)

创建一个按钮,该按钮从本地化的字符串键生成其标签。
当可用Label的Text。

4、init(PrimitiveButtonStyleConfiguration)

基于具有自定义外观和自定义交互行为的样式的配置创建按钮。
当可用Label的。PrimitiveButtonStyleConfiguration.Label


应用标准按钮样式

5、struct DefaultButtonStyle

默认按钮样式,基于按钮的上下文。

6、struct PlainButtonStyle

按钮样式在空闲时不会设置样式或修饰其内容,但可以应用视觉效果来指示按钮的按下,聚焦或启用状态。

7、struct LinkButtonStyle

用于模拟链接的按钮的按钮样式。

8、struct BorderedButtonStyle

一种按钮样式,它基于按钮的上下文应用标准边框图稿。

9、struct BorderlessButtonStyle

不应用边框的按钮样式。

10、struct CardButtonStyle

按钮样式不会填充内容,当按钮具有焦点时会应用动作效果。
贝塔


应用自定义按钮样式

11、protocol ButtonStyle

一种类型,将标准交互行为和自定义外观应用于视图层次结构中的所有按钮。

12、protocol PrimitiveButtonStyle

一种类型,将自定义交互行为和自定义外观应用于视图层次结构中的所有按钮。


样式按钮

13、func buttonStyle< S >(S) -> some View

将此视图中按钮的样式设置为具有自定义外观和标准交互行为的按钮样式。

14 、func buttonStyle< S >(S) -> some View

将此视图中按钮的样式设置为具有自定义外观和自定义交互行为的按钮样式。


技术交流

QQ:3365059189
SwiftUI技术交流QQ群:518696470