Swift UI专项训练35 UIAlertController

简介:    之前我们介绍过AlertView和ActionSheet的用法,前者显示在页面中,而后者是从页面底部飞入的。

   之前我们介绍过AlertView和ActionSheet的用法,前者显示在页面中,而后者是从页面底部飞入的。IOS8中有个新的用法UIAlertController,用它就可以同时实现AlertView和ActionSheet,代码变得简便了很多。下面我们command进UIAlertController中看一下它的用法:

@availability(iOS, introduced=8.0)
class UIAlertController : UIViewController {
    
    convenience init(title: String?, message: String?, preferredStyle: UIAlertControllerStyle)
    
    func addAction(action: UIAlertAction)
    var actions: [AnyObject] { get }
    func addTextFieldWithConfigurationHandler(configurationHandler: ((UITextField!) -> Void)!)
    var textFields: [AnyObject]? { get }
    
    var title: String?
    var message: String?
    
    var preferredStyle: UIAlertControllerStyle { get }
}

它的构造函数中有一个参数,preferredStyle,用来选择我们要实现的类型:

enum UIAlertControllerStyle : Int {
    
    case ActionSheet
    case Alert
}

UIAlertController只有这两个选择。下面我们分别来尝试一下,首先创建一个UIAlertController,选择ActionSheet类型:
var alertController = UIAlertController(title: "选择摇摇", message: nil, preferredStyle: .ActionSheet)//新写法
        var priceAction = UIAlertAction(title: "价格", style: .Default, handler: nil)
        alertController.addAction(priceAction)
        var scoreAction = UIAlertAction(title: "评分", style: .Default, handler: nil)
        alertController.addAction(scoreAction)
        self.presentViewController(alertController, animated: true, completion: nil)


运行一下:


可以看到它依然在屏幕的底部弹出,现在我们保持代码不变,只把.ActionSheet换成.Alert,来看看效果:


怎么样,相比之前新建两个控制器,现在的用法是不是简单了很多?


目录
打赏
0
0
0
0
14
分享
相关文章
探索iOS自动化测试:使用Swift编写UI测试
【8月更文挑战第31天】在软件开发的海洋中,自动化测试是保证船只不偏离航线的灯塔。本文将带领读者启航,深入探索iOS应用的自动化UI测试。我们将通过Swift语言,点亮代码的灯塔,照亮测试的道路。文章不仅会展示如何搭建测试环境,还会提供实用的代码示例,让理论知识在实践中生根发芽。无论你是新手还是有经验的开发者,这篇文章都将是你技能提升之旅的宝贵指南。
CoreData 在 swift UI 中的使用
当谈到在 Swift UI 中进行本地数据持久化,Core Data 是一个强大且常用的解决方案。Core Data 是苹果提供的一种数据存储和管理框架,用于在应用程序中创建、读取、更新和删除数据。它提供了一个对象图管理器,可以将数据映射到对象,并提供了一种简化数据操作的方式。在本文中,我们将深入介绍 Core Data 在 Swift UI 中的使用。
CoreData 在 swift UI 中的使用
基于深度学习的跌倒检测系统(UI界面+YOLOv5+训练数据集)
基于深度学习的跌倒检测系统(UI界面+YOLOv5+训练数据集)
1673 0
基于深度学习的农作物叶片病害检测系统(UI界面+YOLOv5+训练数据集)
基于深度学习的农作物叶片病害检测系统(UI界面+YOLOv5+训练数据集)
860 1
智能生活垃圾检测与分类系统(UI界面+YOLOv5+训练数据集)
智能生活垃圾检测与分类系统(UI界面+YOLOv5+训练数据集)
1283 0
SwiftUI 面面观
前言 Swift 5.1 新语法 单表达式隐式返回值 根据结构体默认成员合成默认初始化器 字符串插入运算符新设计 属性包装器 不透明返回类型 Swift Style DSL / Function Builder 其他新特性 Swift 从 3.x Attribute Swift/SwiftUI API Design Guide 值类型和引用类型
1540 0

热门文章

最新文章

相关课程

更多