AppleWatch开发入门(7)——AlertController

Posted by He Zongjiang on 2018-11-21

本文章是一个系列,如果有兴趣可以看看以下文章:
AppleWatch开发入门(1)——界面布局
AppleWatch开发入门(2)——控制器生命周期、界面跳转
AppleWatch开发入门(3)——Table视图的应用
AppleWatch开发入门(4)——Picker视图的应用
AppleWatch开发入门(5)——Menu的使用
AppleWatch开发入门(6)——watchOS中通知的应用
AlertController AppleWatch开发入门(7)——AlertController
AppleWatch开发入门(8)——动画

一、简介

AlertController是wiatch中的警告框,它有3种Style:

  • alert
  • actionsheet
  • sldeBySldeButtonsAlert

3中Style分别如下图所示:

Alert Style

Actionsheet Style

sldeBySldeButtonsAlert Style

这里需要注意的是:

  • AlertActionsheet按钮数量不限,而sldeBySldeButtonsAlert只能有两个按钮,如果设置了多个按钮,则无法弹出。
  • Alert取消按钮只能有一个,如果设置多个,也只有一个的效果。

二、创建3种AlertController

  1. 界面布局与连线
    如下图:
  2. 详细代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@IBAction func click1() {
alertView(style: .actionSheet)
}
@IBAction func click2() {
alertView(style: .alert)
}
@IBAction func click3() {
alertView(style: .sideBySideButtonsAlert)
}

func alertView(style: WKAlertControllerStyle) {
// 创建一个取消按钮
let action1 = WKAlertAction(title: "取消按钮", style: .cancel) {
print("点击了取消按钮")
}
// 创建一个默认按钮
let action2 = WKAlertAction(title: "默认按钮", style: .default) {
print("点击了默认按钮")
}
// 创建一个警告按钮
let action3 = WKAlertAction(title: "警告按钮", style: .destructive) {
print("点击了警告按钮")
}
// 弹出alert,设置标题和信息,并把上面创建的按钮加入到alert中
presentAlert(withTitle: "消息标题", message: "在这里可以输入消息的内容", preferredStyle: style, actions: [action1, action2, action3])
}

至此,已经大功告成,不过要注意,sideBySideButtonsAlert只能有两个按钮,所以在click3中要进行特殊处理。