文档章节

UIAlertView

Lambda8421
 Lambda8421
发布于 2015/02/25 16:17
字数 637
阅读 5
收藏 0

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Default Alert View" message:@"Defalut" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];

UIAlertView使用全解
标准的双按钮,cancel那个buttonIndex 为0, ok button 的buttonIndex为1


UIAlertView *alertView = [[UIAlertView allocinitWithTitle:@"Default Alert View"message:@"Defalut" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK",@“ThirdButton”, nil];
UIAlertView使用全解
和程序里的顺序一样,cancel  ok  thirdButton 的buttonIndex 分别为0 1 2


UIAlertView *alertView = [[UIAlertView allocinitWithTitle:@"Default Alert View"message:@"Defalut" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK",@“ThirdButton”, nil];
UIAlertView使用全解

同理,cancel  ok  thirdButton FourthButton的buttonIndex 分别为0 1 2 3

[alertView show];


UIAlertView Delegate
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
alertView--->这个不用多说了吧
buttonIndex---->从0开始
可以通过if (buttonIndex == 1) { } 这样的来控制点击了某个按钮需要做什么操作

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
这个方法在动画结束和视图隐藏之后调用

- (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex
这个方法在动画开始和视图隐藏之前调用

- (void)alertViewCancel:(UIAlertView *)alertView
在视图将要被取消之前
例如,用户点击了home键
三个函数的调用顺序依次是:
alertViewCancel----》willDismissWithButtonIndex---》didDismissWithButtonIndex

- (BOOL)alertViewShouldEnableFirstOtherButton(UIAlertView *)alertView
ios 5+
设置yes / no  将会设置alertView 的第一个otherButton的enable属性

- (void)didPresentAlertView:(UIAlertView *)alertView
在视图提交给用户以后调用

-  (void)willPresentAlertView:(UIAlertView *)alertView
在视图提交给用户以前调用

这六个delegate 方法调用的顺序依次是
alertViewShouldEnableFirstOtherButton---->willPresentAlertView--->didPresentAlertView
---->clickedButtonAtIndex---->(如果会触发视图取消,则会调用alertViewCancel)willDismissWithButtonIndex---->didDismissWithButtonIndex

ios4.0以后 alertView不会自动随着程序转向后台而移除
alertView属性
1.alertViewStyle:
UIAlertViewStyleDefault 只弹信息和按钮
UIAlertViewStyleSecureTextInput 有一个textfield加密框
UIAlertViewStylePlainTextInput 有一个不加密的textfield
UIAlertViewStyleLoginAndPasswordInput 有两个textfield,Login和password

只要有textfield就可以用textfieldAtIndex来捕获并进行相应的操作例如换键盘类型

2.cancelButtonIndex
开始是0,如果没有设置cancel button 则是-1

3.delegate
如果没有设置则是nil

4.firstOtherButtonIndex
从0开始,如果没设置则是-1,而且没被设置则会被忽略

5.message 
消息

6.numberOfButtons
只读  alertView中的按钮数量

7.title
标题

8.visible
只读  如果是yes 表示被显示

实例方法
- (NSInteger)addButtonWithTitle:(NSString *)title
返回值是增加的Button的index

- (NSString *)buttonTitleAtIndex:(NSInteger)buttonIndex
输入buttonIndex 返回button的标题

- (void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated
程序自动完成点击buttonIndex的button 并dismiss 整个alertView的操作

- (id)initWithTitle:(NSString *)title message:(NSString)message delegate:(id)delegate cancelButtonTitle:(NSString *)cancelButtonTitle otherButtonTitle:(NSString *)otherButtonTitles, ...
这个就不用多说了

- (void)show
要显示必须要调用这个alertview才会显示

-  (UITextField *)textfieldAtIndex:(NSInteger)textfieldIndex
返回值是textfield
UIAlertViewStyleDefault 没有
UIAlertViewStyleSecureInput textfieldIndex 只有一个为0
UIAlertViewStylePlainInput textfieldIndex 只有一个为0
UIAlertViewStyleLoginAndPasswordInput textfieldIndex有两个 0 1

本文转载自:

共有 人打赏支持
Lambda8421
粉丝 10
博文 121
码字总数 121640
作品 0
闸北
程序员
Objective-C Runtime之着魔的UIAlertView

原文出处: ian博客(@ianisme ) 传统的UIAlertView: 在一个类中有多个UIAlertView,不同的UIAlertView对应不同的事件,我们使用的传统方法如下: Objective-C 1 2 3 4 5 6 7 8 9 10 11 12...

刘星石
2016/04/14
12
0
UIAlertView的基本使用

#import "ViewController.h" //遵守代理 @interface ViewController ()<UIAlertViewDelegate> @end @implementationViewController - (void)viewDidLoad { [super viewDidLoad]; /** 初始化U......

DevShaw
2016/01/26
20
0
UIAlertView基本使用方法

UIAlertView常用于应用界面信息警告提示。 创建和显示UIAlertView 下面显示一个带有“取消”和“确定”两个按钮的的UIAlertView提示对话框。 UIAlertView *alert = [[UIAlertView alloc] //...

鉴客
2012/01/09
8.5K
0
一个BUG的发现、定位和解决

前言 在iOS 11发布之后,出现了一系列适配相关的问题,UIScrollView在pagingEnabled=YES时滑动手势不灵敏,UITableView的滑动删除功能变动,UIImagePickerViewController的取消按钮点击区域变...

落影loyinglin
2017/10/10
0
0
UI基础控件之UIAlertView

1.创建UIAlertView的步骤 (1)开辟空间并初始化(初始化时给出视图的位置以及大小,即哪里要弹窗视图). (2)调用UIAlertView的show方法,呈现提示框. (3)释放UIAlertView对象 2.UIAlertView示例...

tuwangsheng
2014/04/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

dubbo部分常见的面试题目

1、什么是AMQP协议? AMQP的全称是 Advanced Message Queuing Protocol (高级消息队列协议) 他是应用层协议的一个开放的标准,为面向消息中间件而设计,基于此协议的客户端和消息中间件可以...

DemonsI
9分钟前
0
0
http和https协议

HTTPS全称为Hypertext Transfer Protocol over Secure Socket Layer,中文含义为“超文本传输协议在安全加密字层”,简单来说就是加密数据传输,通俗的说就是安全连接。 HTTPS安全超文本传输...

寰宇01
10分钟前
0
0
vue内引入语音播报功能

在vue项目中引入语音播报,使用的科大讯飞语音接入, 具体思路为每次接收到语音信息后存入一个数组,然后监听这个数组,开始冲第一个索引播放,并且同时根据vuex getter 来动态删减数量 给a...

originDu
18分钟前
0
0
Java创建对象的五种方式

一、使用new关键字,调用构造方法创建对象 Person p1 = new Person(); 运行过程: 1、给新对象分配内存空间,将数据存储到堆。 2、执行显示的初始化。 3、执行构造器。new方法中括号参数传递...

Drathin
19分钟前
0
0
git使用纪要

之前公司一直没用git,于是自己注册了一个账号自己用,因为也没人合作,所以也没太关注协作方面的事情。最近公司终于想通了,开始用git,于是研究了一下,在此做个记录。 git功能非常灵活,因...

propagator
24分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部