返回

iOS 土味儿讲义(一):一个 Button 引发的血案

IOS

iOS 土味儿讲义(一):一个 Button 引发的血案

说到 SwiftUI,不得不提的就是 Button 这个控件了。这个控件可谓是 SwiftUI 中最常用的控件之一,也是最基础的控件之一。从官方文档上我们可以看到,Button 是一个可以在点击时执行操作的可交互元素。

但如果只是这样的话,那 Button 也只能算是中规中矩了。毕竟,在 iOS 开发中,类似的控件有很多。那么 Button 到底有何过人之处呢?

答案就在于 Button 的自定义性上。Button 允许我们对它的外观和行为进行全面的定制,从而满足我们各种各样的需求。比如我们可以通过设置不同的背景颜色、边框颜色、文字颜色等来改变它的外观。而通过设置不同的 action,我们可以让它在点击时执行不同的操作。

说到这里,你可能已经对 Button 产生了兴趣。但别急,我们先来看一个案例,看看 Button 在实际开发中是如何使用的。

案例:一个 Button 引发的血案

前段时间,我接到一个需求,要求在某个界面上添加一个按钮,当用户点击这个按钮时,弹出一个小小的提示框,显示一些信息。

乍一看,这个需求很简单,用一个 UIAlertController 就能搞定。但仔细一想,又觉得不太合适。因为 UIAlertController 弹出的提示框太大了,而且遮挡住了整个界面,用户体验并不好。

于是我想到了 Button,心想用 Button 来做这个需求应该会更合适。毕竟 Button 可以自定义外观,可以设置 action,完全可以满足我的需求。

说干就干,我新建了一个 SwiftUI 项目,并添加了一个 Button 控件。然后设置了它的背景颜色、文字颜色、文字内容,最后设置了 action。代码如下:

struct ContentView: View {
    var body: some View {
        Button(action: {
            // 点击按钮时执行的操作
        }) {
            Text("点击我")
        }
        .background(Color.blue)
        .foregroundColor(.white)
    }
}

编译运行后,我发现 Button 的外观和行为都符合我的预期。当用户点击这个按钮时,会弹出一个小小的提示框,显示一些信息。

到这里,这个需求就算完成了。但细心的你可能发现了,我并没有在 action 中写任何代码。这是因为我还没有想好点击按钮后要执行什么操作。

不过没关系,我们可以先把 Button 的外观和行为做好,然后再慢慢想点击按钮后要执行什么操作。这也是 SwiftUI 的一大优势,它允许我们分模块开发,先把各个部分做好,然后再组装起来。

好了,今天的内容就到这里了。下一篇,我将继续讲解 Button 的自定义,并介绍一些更高级的用法。敬请期待!