UIAlertController中TextField的用法

这里写图片描述

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
        // 创建
        let alertController = UIAlertController(title: "提示", message: "你确定要离开?", preferredStyle:.Alert)

        // 设置2个UIAlertAction
        let cancelAction = UIAlertAction(title: "取消", style: .Cancel, handler: nil)
        let okAction = UIAlertAction(title: "好的", style: .Default) { (UIAlertAction) in
            print("点击了好的")
        }

        // 添加
        alertController.addAction(cancelAction)
        alertController.addAction(okAction)

        // 弹出
        self.presentViewController(alertController, animated: true, completion: nil)
    }
}
  • 12

这里写图片描述

// 除了弹出,还可以使用底部向上滑出的样式
        // 注意:如果上拉菜单中有『取消』按钮的话,那么它永远都会出现在菜单的底部,不管添加的次序如何

        // 创建
        // preferredStyle 为 ActionSheet
        let alertController = UIAlertController(title: "保存或删除数据", message: "删除数据将不可恢复", preferredStyle:.ActionSheet)

        // 设置2个UIAlertAction
        let cancelAction = UIAlertAction(title: "取消", style: .Cancel, handler: nil)
        let deleteAction = UIAlertAction(title: "删除", style: .Destructive, handler: nil)
        let saveAction = UIAlertAction(title: "保存", style: .Default, handler: nil)

        // 添加到UIAlertController
        alertController.addAction(cancelAction)
        alertController.addAction(saveAction)
        alertController.addAction(deleteAction)

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

这里写图片描述

/*
        添加任意数量的文本输入框(比如可以用来实现登录框)
         */

        let alertController = UIAlertController(title: "系统登录", message: "请输入用户名和密码", preferredStyle: UIAlertControllerStyle.Alert)

        alertController.addTextFieldWithConfigurationHandler { (textField:UITextField) in
            textField.placeholder = "用户名"
        }
        alertController.addTextFieldWithConfigurationHandler { (textField:UITextField) in
            textField.placeholder = "密码"
            textField.secureTextEntry = true
        }

        let cancelAction = UIAlertAction(title: "取消", style: UIAlertActionStyle.Cancel, handler: nil)
        let okAction = UIAlertAction(title: "好的", style: UIAlertActionStyle.Default) { (UIAlertAction) in
            let login = alertController.textFields![0]
            let pwd = alertController.textFields![1]
            print("用户名:\(login.text) 密码:\(pwd.text)")
        }

        alertController.addAction(cancelAction)
        alertController.addAction(okAction)


        // 弹出
        self.presentViewController(alertController, animated: true, completion: nil)
posted @   brave-sailor  阅读(544)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2015-07-03 Java数组与泛型
2015-07-03 Android4.3 蓝牙BLE初步
2015-07-03 Fragment保持状态切换,fragment状态切换
2015-07-03 Android组件:Fragment切换后保存状态
2014-07-03 Android应用开发中半透明效果实现方案
点击右上角即可分享
微信分享提示