Swift - 告警提示框(UIAlertController)的用法

自iOS8起,苹果就建议告警框使用UIAlertController来代替UIAlertView。下面总结了一些常见的用法:

1,简单的应用(同时按钮响应Handler使用闭包函数)


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

27

28

import UIKit

class ViewController: UIViewController ,UIActionSheetDelegate {

    override func viewDidLoad() {

        super.viewDidLoad()

    }

    

    override func viewDidAppear(animated: Bool){

        super.viewDidAppear(animated)

        

        let alertController = UIAlertController(title: "系统提示",

            message: "您确定要离开hangge.com吗?", preferredStyle: UIAlertControllerStyle.Alert)

        let cancelAction = UIAlertAction(title: "取消", style: UIAlertActionStyle.Cancel, handler: nil)

        let okAction = UIAlertAction(title: "好的", style: UIAlertActionStyle.Default,

            handler: {

                action in

                print("点击了确定")

        })

        alertController.addAction(cancelAction)

        alertController.addAction(okAction)

        self.presentViewController(alertController, animated: true, completion: nil)

    }

    

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }

}

2,除了弹出,还可以使用从底部向上滑出的样式

(注意:如果上拉菜单中有“取消”按钮的话,那么它永远都会出现在菜单的底部,不管添加的次序是如何)


1

2

3

4

5

6

7

8

9

var alertController = UIAlertController(title: "保存或删除数据", message: "删除数据将不可恢复",

    preferredStyle: UIAlertControllerStyle.ActionSheet)

var cancelAction = UIAlertAction(title: "取消", style: UIAlertActionStyle.Cancel, handler: nil)

var deleteAction = UIAlertAction(title: "删除", style: UIAlertActionStyle.Destructive, handler: nil)

var archiveAction = UIAlertAction(title: "保存", style: UIAlertActionStyle.Default, handler: nil)

alertController.addAction(cancelAction)

alertController.addAction(deleteAction)

alertController.addAction(archiveAction)

self.presentViewController(alertController, animated: true, completion: nil)

3,按钮使用“告警”样式(文字颜色变红,用来来警示用户)


1

var okAction = UIAlertAction(title: "好的", style: UIAlertActionStyle.Destructive, handler: nil)

4,添加任意数量文本输入框(比如可以用来实现个登陆框)


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

27

28

29

30

31

32

33

34

35

36

37

38

import UIKit

class ViewController: UIViewController ,UIActionSheetDelegate {

    override func viewDidLoad() {

        super.viewDidLoad()

    }

    

    override func viewDidAppear(animated: Bool){

        super.viewDidAppear(animated)

        

        let alertController = UIAlertController(title: "系统登录",

            message: "请输入用户名和密码", preferredStyle: UIAlertControllerStyle.Alert)

        alertController.addTextFieldWithConfigurationHandler {

            (textField: UITextField!) -> Void in

            textField.placeholder = "用户名"

        }

        alertController.addTextFieldWithConfigurationHandler {

            (textField: UITextField!) -> Void in

            textField.placeholder = "密码"

            textField.secureTextEntry = true

        }

        let cancelAction = UIAlertAction(title: "取消", style: UIAlertActionStyle.Cancel, handler: nil)

        let okAction = UIAlertAction(title: "好的", style: UIAlertActionStyle.Default,

            handler: {

                action in

                let login = alertController.textFields!.first! as UITextField

                let password = alertController.textFields!.last! as UITextField

                print("用户名:\(login.text) 密码:\(password.text)")

        })

        alertController.addAction(cancelAction)

        alertController.addAction(okAction)

        self.presentViewController(alertController, animated: true, completion: nil)

    }

    

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

    }

}

5,使用代码移除提示框


1

self.presentedViewController?.dismissViewControllerAnimated(false, completion: nil)

时间: 2024-10-05 20:15:34

Swift - 告警提示框(UIAlertController)的用法的相关文章

Swift - 警告提示框(UIAlertController)的用法

import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { // 创建 let alertController = UIAlertController(title: "提示&qu

js消息提示框插件-----toastr用法

(本文系转载) 因为个人项目中有一个提交表单成功弹出框的需求,从网上找了一些资料,发现toastr这个插件的样式还是不错的.所以也给大家推荐下,但是网上的使用资料不是很详细,所以整理了一下,希望能给大家带来帮助. toastr 官网http://codeseven.github.io/toastr/ 这个样式插件支持直接导cdn入链接,但是我尝试了一下cdn加载速度太慢,所以推荐直接下载文件后导入文件 个人演示地址,因为把js放在了头部所以加载时间可能有点长,而且我发现自己的服务器不是很稳定,所

swift - UIAlertController 的用法

ios 8 以后苹果官方建议使用UIAlertController这个类,所以专门去网上找资料,了解了下用法,自己写个代码,记录一下! 感谢航哥,转自:http://www.hangge.com/blog/cache/detail_651.html 1.创建一个alertView override func viewDidAppear(animated: Bool){ super.viewDidAppear(animated) let alertController = UIAlertContr

WKWebView不显示提示框(Swift)

使用WKWebView的时候会出现明明自己做的一些页面有提示框, 为什么使用别人的页面提示框总是不显示, 其实很大部分原因是因为该提示框是通过JS调用的, 需要实现WKUIDelegate来进行监听 // MARK: - WKUIDelegate // 监听通过JS调用警告框 func webView(_ webView: WKWebView, runJavaScriptAlertPanelWithMessage message: String, initiatedByFrame frame:

提示窗UIAlertView与UIAlertController的用法(持续更新中)

一般在if判断中加入 1.第一种基础型 全都在xxx.m功能文件中编写 UIAlertView(基础版): 1 UIAlertView *WXinstall=[[UIAlertView alloc]initWithTitle:@"提示框" message:@"提示信息" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];//一般在if判断中加

iOS - UIAlertController三种显示提示框代码

UIAlertView在IOS 8以上版本已经过时了,官方推荐我们使用UIAlertController代替UIAlertView.UIActionSheet 1?UIAlertController显示普通的Alert - (IBAction)showAlert:(UIButton *)sender { //显示提示框 //过时 // UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@&q

qt5信息提示框QMessageBox用法

information QMessageBox::information(NULL, "Title", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); 这是比较常用的一种用法,效果如下: information原型: StandardButton QMessageBox::information(QWidget * parent, const QString & title,

关于iOS中提示框的使用

关于iOS中提示框的使用在iOS8的SDK里,已经对提示框进行了更改,现在属于 UIAlertController,其接口如下声明NS_CLASS_AVAILABLE_IOS(8_0) @interface UIAlertController : UIViewController,不再是一个UIView. 具体的使用如下,希望对某些朋友有帮助.#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_8_0 //判断你当前的iOS SDK所支持的最大iOS系

iOS9使用提示框进行文本输入的正确实现方式

我在之前写过一篇博客<iOS9使用提示框的正确实现方式>,主要讲了如何使用UIAlertController替换UIAlertView进行提示框的实现.今天我们将会来实现一下在提示框中如何进行文本输入.该功能可以让用户进行密码确认等功能. 实现代码如下: #import "SecondViewController.h" #import "AppDelegate.h" @interface SecondViewController () @end @imp