1.Title

获取或设置UIAlertView上的标题。

2.Message

获取或设置UIAlertView上的消息

UIAlertView *alertView = [[UIAlertViewalloc] initWithTitle:@"Title"message:@"message"delegate:selfcancelButtonTitle:@"取消"otherButtonTitles:@"确定", nil];

alertView.title = @"T";

alertView.message = @"M";

[alertView show];

3.numberOfButtons (只读)

返回UIAlertView上有多少按钮.

UIAlertView *alertView = [[UIAlertViewalloc] initWithTitle:@"Title"message:@"message"delegate:selfcancelButtonTitle:@"取消"otherButtonTitles:@"确定", nil];

NSLog(@"%d",alertView.numberOfButtons);

[alertView show];

4.cancelButtonIndex

UIAlertView *alert = [[UIAlertViewalloc]initWithTitle:@"提示"

message:@"请选择一个按钮:"

delegate:nil

cancelButtonTitle:@"取消"

otherButtonTitles:@"按钮一", @"按钮二", @"按钮三",nil];

[alert show];

NSLog(@"UIAlertView中取消按钮的角标是%d",alert.cancelButtonIndex);

效果:

注意不要认为取消按钮的角标是4,“取消”,“按钮一”,“按钮二”,“按钮三”的索引buttonIndex分别是0,1,2,3

5.alertViewStyle

5.1UIAlertViewStyleLoginAndPasswordInput

UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:@"产品信息展示" message:p.namedelegate:nilcancelButtonTitle:@"取消"otherButtonTitles:@"确定", nil];

alert.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;

// 弹出UIAlertView

[alert show];

5.2UIAlertViewStylePlainTextInput

UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:@"产品信息展示" message:p.namedelegate:nilcancelButtonTitle:@"取消"otherButtonTitles:@"确定", nil];

alert.alertViewStyle = UIAlertViewStylePlainTextInput;

// 弹出UIAlertView

[alert show];

5.3UIAlertViewStyleSecureTextInput

UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:@"产品信息展示" message:p.namedelegate:nilcancelButtonTitle:@"取消"otherButtonTitles:@"确定", nil];

alert.alertViewStyle = UIAlertViewStyleSecureTextInput;

// 弹出UIAlertView

[alert show];

6.- (UITextField *)textFieldAtIndex:(NSInteger)textFieldIndex

返回textFieldIndex角标对应的文本框。

取出文本框文字

7.手动的取消对话框

[alertdismissWithClickedButtonIndex:0 animated:YES];

8.delegate

作为UIAlertView的代理,必须遵守UIAlertViewDelegate。

1.当点击UIAlertView上的按钮时,就会调用,并且当方法调完后,UIAlertView会自动消失。

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex;

2.当UIAlertView即将出现的时候调用

- (void)willPresentAlertView:(UIAlertView *)alertView;

3.当UIAlertView完全出现的时候调用

- (void)didPresentAlertView:(UIAlertView *)alertView;

4.当UIAlertView即将消失的时候调用

- (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex;

5.当UIAlertView完全消失的时候调用

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex;

9.注意UIAlertView调用show显示出来的时候,系统会自动强引用它,不会被释放。

10.为UIAlertView添加子视图

在为UIAlertView对象太添加子视图的过程中,有点是需要注意的地方,如果删除按钮,也就是取消UIAlerView视图中所有的按钮的时候,可能会导致整个显示结构失衡。按钮占用的空间不会消失,我们也可以理解为这些按钮没有真正的删除,仅仅是他不可见了而已。如果在UIAlertview对象中仅仅用来显示文本,那么,可以在消息的开头添加换行符(@"\n)有助于平衡按钮底部和顶部的空间。

下面的代码用来演示如何为UIAlertview对象添加子视图的方法。

UIAlertView*alert =
[[UIAlertView alloc]initWithTitle:@"请等待"

message:nil

delegate:nil

cancelButtonTitle:nil

otherButtonTitles:nil];

[alert show];

UIActivityIndicatorView*activeView =
[[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];

activeView.center = CGPointMake(alert.bounds.size.width/2.0f,
alert.bounds.size.height-40.0f);

[activeView startAnimating];

[alert addSubview:activeView];

11.UIAlertView小例子

UIAlertView默认情况下所有的text是居中对齐的。那如果需要将文本向左对齐或者添加其他控件比如输入框时该怎么办呢?不用担心, iPhone SDK还是很灵活的,有很多delegate消息供调用程序使用。所要做的就是在

- (void)willPresentAlertView:(UIAlertView *)alertView

中按照自己的需要修改或添加即可,比如需要将消息文本左对齐,下面的代码即可实现:

-(void)
willPresentAlertView:(UIAlertView *)alertView

{

for( UIView * view in alertView.subviews )

{

if(
[view isKindOfClass:[UILabel class]] )

{

UILabel*
label = (UILabel*) view;

label.textAlignment=UITextAlignmentLeft;

}

}

}

UIAlertView的更多相关文章

  1. 弹框控件 UIAlertView UIActionSheet

    // 创建弹框 从底部弹出,一般用于危险操作 UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"恭喜通关" ...

  2. 自定义一个类似UIAlertView的弹出框

    这个是和UIAlertView类似,但是可以自定义view的样式废话不多说,上代码: 首先第一步:创建一个继承自View的类如: #import <UIKit/UIKit.h> @clas ...

  3. UIAlertView和UIActivityIndicatorView的使用

    UIAlertView用来显示一个对话框,可以设置对话框的标题.文案.按钮的个数和文案,也可以通过实现delegate来监听按钮的的点击操作. 使用UIAlertView时需要注意: self.ale ...

  4. 【代码笔记】iOS-带输入框的UIAlertView

    一,效果图. 二,代码. //点击任何处,弹出输入框 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ UIAlertV ...

  5. iOS开发之UIAlertView与UIAlertController的详尽用法说明

    本文将从四个方面对IOS开发中UIAlertView与UIAlertController的用法进行讲解: 一.UIAlertView与UIAlertController是什么东东? 二.我们为什么要用 ...

  6. iOS UIAlertView添加输入框

    这玩意有时不用就忘,还是记录一下吧 添加: UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"新建文件夹" mes ...

  7. UILabel UISwitch UISegmentedControl UIAlertView

    基础小控件 /***************************************UIlabel*************************************/ UILabel ...

  8. UIAlertView 与 UIActionSheet (提示用户)的使用方法

    UIAlertView 提示用户  帮助用户选择框 //    UIAlertView *alterView = [[UIAlertView alloc] initWithTitle:@"警 ...

  9. UIAlertView、 UIActionSheet

    一.UIAlertView. UIActionSheet都是ios系统自带的弹出式对话框,当UIAlertView或UIActionSheet弹出来时用户无法与应用界面中的其它控件交互,UIAlert ...

  10. IOS开发UI基础 UIAlertView的属性

    UIAlertView1.Title获取或设置UIAlertView上的标题. 2.Message获取或设置UIAlertView上的消息 UIAlertView *alertView = [[UIA ...

随机推荐

  1. axure rp extension的下载

    使用chrome无法直接打开axure制作的prd文档,需要下载相关插件.平时用的shadowsocksFQ软件,登录chrome的网上应用商店,确发现无法正常下载, 于是通过其他途径下载了改插件,拖 ...

  2. 红米note3的wifi断流或假死

    红米note3的wifi断流/假死 日常使用note3的时,比如长时间浏览网页,点击一个链接会卡住不动,在等待十几秒之后才恢复.第一反应是不是网络不好?但是这种情况常常出现之后,对比其他的手机,比如价 ...

  3. PHP+jQuery 注册模块的改进之一:验证码存入SESSION

    /* ******* Date:2014-09-28 ******* Author:小dee ******* Blog:http://www.cnblogs.com/dee0912/*/ 对上一篇博文 ...

  4. vi 编辑器常用命令

    VI编辑器可以分为3种状态,它们分别是命令模式.输入模式以及末行模式,VI运行后默认进入命令模式. 命令模式:控制屏幕光标的移动,字符.单词或行的删除.替换,复制粘贴数据以及由此进入插入模式和末行模式 ...

  5. 【SIGGRAPH 2015】【巫师3 狂猎 The Witcher 3: Wild Hunt 】顶级的开放世界游戏的实现技术。

    [SIGGRAPH 2015][巫师3 狂猎 The Witcher 3: Wild Hunt ]顶级的开放世界游戏的实现技术 作者:西川善司 日文链接  http://www.4gamer.net/ ...

  6. Amoeba基本配置

    Amoeba安装及读写分离配置一.amoeba简介官网:http://docs.hexnova.com/amoeba/index.html二.Centos下安装jdk1.yum 安装1.6版本jdk2 ...

  7. 【转】Xamarin.Android 入门之:Xamarin+vs2015 环境搭建

    Xamarin.Android 入门之:Xamarin+vs2015 环境搭建   一.前言 此篇博客主要写了如何使用搭建xamarin开发的环境,防止我自己万一哪天电脑重装系统了,可以直接看这篇博客 ...

  8. java Exchanger 2

    //Listing 6-3. Using an Exchanger to Swap Buffers import java.util.ArrayList; import java.util.List; ...

  9. eclipse Maven -->web project

    http://blog.chinaunix.net/uid-26959955-id-3248053.html http://blog.csdn.net/wilsonke/article/details ...

  10. MySQL数据库表名、列名、别名区分大小写的问题

    MySQL在Linux下数据库名.表名.列名.别名大小写规则是这样的: 1.数据库名与表名是严格区分大小写的: 2.表的别名是严格区分大小写的: 3.列名与列的别名在所有的情况下均是忽略大小写的: 4 ...