当前位置: > > > Swift - 告警框(UIAlertView)的用法

Swift - 告警框(UIAlertView)的用法

1,下面代码创建并弹出一个告警框,并带有“取消”“确定”两个按钮
(注:自IOS8起,建议使用UIAlertController。点击查看UIAlertController的用法
class ViewController: UIViewController{
    override func viewDidLoad() {
        super.viewDidLoad()

        let alertView = UIAlertView()
        alertView.title = "系统提示"
        alertView.message = "您确定要离开hangge.com吗?"
        alertView.addButtonWithTitle("取消")
        alertView.addButtonWithTitle("确定")
        alertView.cancelButtonIndex=0
        alertView.delegate=self;
        alertView.show()
    }

    func alertView(alertView:UIAlertView, clickedButtonAtIndex buttonIndex: Int){
        if(buttonIndex==alertView.cancelButtonIndex){
            print("点击了取消")
        }
        else
        {
            print("点击了确认")
        }
    }
}

2,告警框有下面4种样式
Default:默认样式
PlainTextInput:带输入框的告警框
SecureTextInput:带密码框的告警框
LoginAndPasswordInput:带输入框和密码框的告警框

下面是一个使用输入框和密码框的告警框样例:

import UIKit

class ViewController: UIViewController {

    var alertView = UIAlertView()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        alertView.title = "系统登录"
        alertView.message = "请输入用户名和密码!"
        alertView.addButtonWithTitle("取消")
        alertView.addButtonWithTitle("确定")
        alertView.cancelButtonIndex=0
        alertView.delegate=self;
        alertView.alertViewStyle = UIAlertViewStyle.LoginAndPasswordInput
        alertView.show()
    }
    
    func alertView(alertView:UIAlertView, clickedButtonAtIndex buttonIndex: Int){
        if(buttonIndex==alertView.cancelButtonIndex){
            print("点击了取消")
        }
        else
        {
            let name = alertView.textFieldAtIndex(0)
            let password = alertView.textFieldAtIndex(1)
            print("用户名是:\(name!.text) 密码是:\(password!.text)")
        }
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}
评论3
  • 3楼
    2015-11-10 16:43
    Bubble

    建议更新Swift2.0

    站长回复

    UIAlertView已被废弃,现在应该改用UIAlertController,具体用法站内原来也写了相关的文章。

  • 2楼
    2015-07-23 13:53
    小维

    要是其他组件介绍都能跟这个一样有效果图就更完美啦

    站长回复

    最早写的一些文章当时偷懒也就没截图,后面基本都有配图的(有空我也会慢慢把早些的图补上,方便阅读)

  • 1楼
    2015-07-07 14:10
    White

    协议错了
    class AViewController: UIViewController,UIAlertViewDelegate {}

    站长回复

    UIActionSheetDelegate这个协议不需要,已去掉。多谢提醒。