加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift UI专项训练35 UIAlertController

发布时间:2020-12-14 02:19:56 所属栏目:百科 来源:网络整理
导读:之前我们介绍过AlertView和ActionSheet的用法,前者显示在页面中,而后者是从页面底部飞入的。IOS8中有个新的用法UIAlertController,用它就可以同时实现AlertView和ActionSheet,代码变得简便了很多。下面我们command进UIAlertController中看一下它的用法:

之前我们介绍过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: "评分",handler: nil)
        alertController.addAction(scoreAction)
        self.presentViewController(alertController,animated: true,completion: nil)


运行一下:


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


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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读