IOS8 UIAlertController 提示框

IOS8中,Apple将UIActionSheet和UIAlertView整合成一个接口UIAlertController。

原来的是一个view,展示在window视图之上。现在改成了controller,展示方式变成由当前的controller直接present出来。

  1. UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"This is Title"
  2. message:@"This is message"
  3. preferredStyle:UIAlertControllerStyleAlert];
  4. [alert addAction:[UIAlertAction actionWithTitle:@"Action 1 (Default Style)"
  5. style:UIAlertActionStyleDefault
  6. handler:^(UIAlertAction *action) {
  7. NSLog(@"Action 1 Handler Called");
  8. }]];
  9. [alert addAction:[UIAlertAction actionWithTitle:@"Action 2 (Cancel Style)"
  10. style:UIAlertActionStyleCancel
  11. handler:^(UIAlertAction *action) {
  12. NSLog(@"Action 2 Handler Called");
  13. }]];
  14. [alert addAction:[UIAlertAction actionWithTitle:@"Action 3 (Destructive Style)"
  15. style:UIAlertActionStyleDestructive
  16. handler:^(UIAlertAction *action) {
  17. NSLog(@"Action 3 Handler Called");
  18. }]];
  19. [self presentViewController:alert animated:YES completion:nil];

通过addAction接口添加具体按钮,设置按钮title、style和使用block方式直接加入按钮响应接口。

style有以下几种:

[objc] view plaincopy

  1. typedef NS_ENUM(NSInteger, UIAlertActionStyle) {
  2. UIAlertActionStyleDefault = 0,
  3. UIAlertActionStyleCancel,
  4. UIAlertActionStyleDestructive
  5. } NS_ENUM_AVAILABLE_IOS(8_0);

与原来的UIActionSheet和UIAlertView比较:

1、视觉上没有改变,跟之前的样式保持一致;

2、改为controller方式后,控件的生命周期能够更好的控制;方便的弹出和收起

3、当前controller弹出UIAlertController后,再次present controller必须在UIAlertController的基础上present。present后,UIAlertController会被盖住。而之前的UIActionSheet和UIAlertView由于是add在window上面的,当在弹出他们的controller基础上再present
controller的话,UIActionSheet和UIAlertView弹框仍然保留在最上方。

4、修改为controller方式后,接口更加简单,而且按钮响应方式更加明了简介,不需要在设置delegate和实现响应的回调等。

时间: 2024-10-13 05:52:24

IOS8 UIAlertController 提示框的相关文章

iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet二合一)

iOS8推出了几个新的“controller”,主要是把类似之前的UIAlertView变成了UIAlertController,这不经意的改变,貌似把我之前理解的“controller”一下子推翻了-但是也无所谓,有新东西不怕,学会使用了就行.接下来会探讨一下这些个新的Controller. - (void)showOkayCancelAlert { NSString *title = NSLocalizedString(@"A Short Title Is Best", nil);

IOS开发之 ---- iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet二合一)

群号:49690168 转:http://blog.csdn.net/liangliang103377/article/details/40078015 iOS8推出了几个新的“controller”,主要是把类似之前的UIAlertView变成了UIAlertController,这不经意的改变,貌似把我之前理解的“controller”一下子推翻了-但是也无所谓,有新东西不怕,学会使用了就行.接下来会探讨一下这些个新的Controller. - (void)showOkayCancelAle

IOS8 UIAlertController 弹框

本文转载至 http://blog.csdn.net/jinkaiouyang/article/details/35551769 IOS8中,Apple将UIActionSheet和UIAlertView整合成一个接口UIAlertController. 原来的是一个view,展示在window视图之上.现在改成了controller,展示方式变成由当前的controller直接present出来. 下面看看具体的接口: [html] view plaincopy UIAlertControll

Swift - 告警提示框(UIAlertController)的用法

自iOS8起,苹果就建议告警框使用UIAlertController来代替UIAlertView.下面总结了一些常见的用法: 1,简单的应用(同时按钮响应Handler使用闭包函数) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 import UIKit class ViewController: UIViewController ,UIActionSheetDelegate {     ov

iOS - UIAlertController三种显示提示框代码

UIAlertView在IOS 8以上版本已经过时了,官方推荐我们使用UIAlertController代替UIAlertView.UIActionSheet 1?UIAlertController显示普通的Alert - (IBAction)showAlert:(UIButton *)sender { //显示提示框 //过时 // UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@&q

关于iOS中提示框的使用

关于iOS中提示框的使用在iOS8的SDK里,已经对提示框进行了更改,现在属于 UIAlertController,其接口如下声明NS_CLASS_AVAILABLE_IOS(8_0) @interface UIAlertController : UIViewController,不再是一个UIView. 具体的使用如下,希望对某些朋友有帮助.#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_8_0 //判断你当前的iOS SDK所支持的最大iOS系

iOS9使用提示框的正确实现方式

在从iOS8到iOS9的升级过程中,弹出提示框的方式有了很大的改变,在Xcode7 ,iOS9.0的SDK中,已经明确提示不再推荐使用UIAlertView,而只能使用UIAlertController,我们通过代码来演示一下. 我通过点击一个按钮,然后弹出提示框,代码示例如下: #import "ViewController.h" @interface ViewController () @property(strong,nonatomic) UIButton *button; @e

iOS9使用提示框进行文本输入的正确实现方式

我在之前写过一篇博客<iOS9使用提示框的正确实现方式>,主要讲了如何使用UIAlertController替换UIAlertView进行提示框的实现.今天我们将会来实现一下在提示框中如何进行文本输入.该功能可以让用户进行密码确认等功能. 实现代码如下: #import "SecondViewController.h" #import "AppDelegate.h" @interface SecondViewController () @end @imp

iOS:提示框(警告框)控件UIActionSheet的详解

提示框(警告框)控件2:UIActionSheet 功能:当点击按钮或标签等时,弹出一个提示框,显示必要的提示,然后通过添加的按钮完成需要的功能.它与导航栏类似,它继承自UIView. 风格类型: typedef NS_ENUM(NSInteger, UIActionSheetStyle) { UIActionSheetStyleAutomatic        = -1,       //iOS系统自动默认的风格 UIActionSheetStyleDefault          = UIB