Swift UI专项训练35 UIAlertController

前端之家收集整理的这篇文章主要介绍了Swift UI专项训练35 UIAlertController前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

  1. @availability(iOS,introduced=8.0)
  2. class UIAlertController : UIViewController {
  3. convenience init(title: String?,message: String?,preferredStyle: UIAlertControllerStyle)
  4. func addAction(action: UIAlertAction)
  5. var actions: [AnyObject] { get }
  6. func addTextFieldWithConfigurationHandler(configurationHandler: ((UITextField!) -> Void)!)
  7. var textFields: [AnyObject]? { get }
  8. var title: String?
  9. var message: String?
  10. var preferredStyle: UIAlertControllerStyle { get }
  11. }

它的构造函数中有一个参数,preferredStyle,用来选择我们要实现的类型:
  1. enum UIAlertControllerStyle : Int {
  2. case ActionSheet
  3. case Alert
  4. }

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


运行一下:


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


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

猜你在找的Swift相关文章