iOS开发UI篇—UIAlertController简单介绍

iOS开发UI篇—UIAlertController简单介绍

说明:

在iOS8之后,苹果推出了UIAlertController,在功能上可以实现对UIAlertView和UIActionSheet的统一。

本文主要分为三个部分,将分别介绍UIAlertView的使用,UIActionSheet的使用和UIAlertController的使用。如果使用比较简单,就直接贴代码。

  附:全文Demo程序下载地址:链接: http://pan.baidu.com/s/1nt7jZW9 密码: 4ijj

一、UIAlertView的使用

示例代码:

 

运行代码,屏幕显示如下:

说明:上面的代码简单介绍了UIAlertView的一些基本用法,需要注意的系统为UIAlertView提供了集中风格的样式,如UIAlertViewStyleSecureTextInput、

UIAlertViewStyleLoginAndPasswordInput等。UIAlertView需要调用show方法来让弹框显示,显示居中。

  对于弹框中按钮的点击事件,采用代理的方式来监听。系统提供了一下一些代理方法可供调用。

 

二、UIActionSheet的使用

示例代码:

  

运行代码,点击屏幕显示如下:

  

说明:UIActionSheet的使用和UIAlertView类似,其构造方法

- (instancetype)initWithTitle:(NSString *)title delegate:(id<UIActionSheetDelegate>)delegate cancelButtonTitle:(NSString *)cancelButtonTitle destructiveButtonTitle:(NSString *)destructiveButtonTitle otherButtonTitles:(NSString *)otherButtonTitles, ... NS_REQUIRES_NIL_TERMINATION NS_EXTENSION_UNAVAILABLE_IOS("Use UIAlertController instead.");

其中destructiveButton是一种特殊样式的Button,销毁性按钮,着重强调。和UIAlertView不同的,UIActionSheet的显示调用showInView:方法,且展示在父控件的底部。

 

三、UIAlertController的简单介绍

  UIAlertController在功能实现上通过对样式(UIAlertControllerStyle)的控制,实际上实现了UIActionSheet和UIAlertView两个控件的功能。进入到UIAlertController的头文件,可以发现UIAlertController继承自UIViewController,是一个控制器类型。

下面通过几段简短的代码进行简单说明。

 (1)UIAlertControllerStyle == UIAlertControllerStyleAlert

代码示例一

  

执行情况如下:

  

说明:相比UIAlertView和UIActionSheet使用代理来监听弹框事件,UIAlertController采用了更有针对性的Block块来完成。UIAlertController可以通过addAction:方法来添加自己的按钮点击事件。还可以通过下面的方法来添加TextField控件。

  - (void)addTextFieldWithConfigurationHandler:(void (^)(UITextField *textField))configurationHandler;

代码示例二

  

执行效果:

  

 (2)UIAlertControllerStyle == UIAlertControllerStyleActionSheet

  示例代码:

    

  执行效果:

    

  说明:只有当UIAlertController的样式为UIAlertControllerStyleAlert时才能接受添加TextField。如果UIAlertController的样式为UIAlertControllerStyleActionSheet,则报错。

  代码示例:

    

  错误提示:

  

 

四、与UITextField相关的补充

(1)要获取UIAlertController的TextField控件,可以有几种方法:

  a)添加一个全局的UITextField属性,并在BLOCK中指向。

    

  b)尝试新的方法。

    

(2)监听弹框中UITextField值的改变。可以有以下几种方法:

  a)使用代理。(略)

  b)使用通知。(略)

  c)新的方法(UITextField继承自UIControl,因此有addTaget方法)。

    代码示例:

      

    执行效果:

      

    监听UITextField文字的改变:

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值