UIAlertView

转载 2016年06月01日 18:13:24

给iOS开发新手送点福利,简述UIAlertView的属性和用法

UIAlertView

1.Title

获取或设置UIAlertView上的标题。

2.Message

获取或设置UIAlertView上的消息

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

    alertView.title = @"T";

    alertView.message = @"M";

 

    [alertView show];

 

3.numberOfButtons (只读)

返回UIAlertView上有多少按钮.

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

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

[alertView show];

 

 

4.cancelButtonIndex

   UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"请选择一个按钮:" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:@"按钮一", @"按钮二", @"按钮三",nil];

   [alert show];

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

效果:

 

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

 

 

5. alertViewStyle

5.1 UIAlertViewStyleLoginAndPasswordInput

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"产品信息展示" message:p.name delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];

   

alert.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;

   

// 弹出UIAlertView

 [alert show];

 

 

 

5.2 UIAlertViewStylePlainTextInput

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"产品信息展示" message:p.name delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];

   

alert.alertViewStyle = UIAlertViewStylePlainTextInput;

   

// 弹出UIAlertView

 [alert show];

 

 

5.3 UIAlertViewStyleSecureTextInput

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"产品信息展示" message:p.name delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];

   

alert.alertViewStyle = UIAlertViewStyleSecureTextInput;

   

// 弹出UIAlertView

 [alert show];


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

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

取出文本框文字

7.手动的取消对话框

[alert dismissWithClickedButtonIndex: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使用

UIAlertView使用 基本用法 // 创建一个UIAlertView并显示出来 UIAlertView *alertview = [[UIAlertView alloc] initWithT...
  • uxyheaven
  • uxyheaven
  • 2014年08月11日 10:04
  • 3622

objc_setAssociatedObject的用法,解决UIAlertView按钮传值问题

我们在平时编程的时候,经常需要通过一些UIAlertView 向其他的类或者函数传递对象或者信息。点击某个button需要触发事件之后,需要把一些信息传递给响应的函数。但是却偏偏没有这样的参数去输入这...
  • liufangbaishi2014
  • liufangbaishi2014
  • 2015年10月16日 14:23
  • 1444

alert提示的内容如何换行

用"\n" 比如: alert("第一行\n第二行\n第三行");
  • linminqin
  • linminqin
  • 2012年04月05日 21:27
  • 3768

UIAlertView

UIAlertView 1.Title 获取或设置UIAlertView上的标题。   2.Message 获取或设置UIAlertView上的消息       UIAlertView *alert...
  • NiXingFuJiuHao
  • NiXingFuJiuHao
  • 2014年05月24日 23:11
  • 739

UIAlertView基本用法详解和delegate方法调用

1,UIAlertView的基本用法 //调用一个类方法 初始化一个 UIAlertView 对象 当一个按钮上有多个按钮的时候,按钮的索引顺序按照定义按钮时候的顺序排列,第一个是取消,第二...
  • walden00
  • walden00
  • 2015年08月28日 17:11
  • 1477

提示框message左对齐问题

前言今天需要改一个将提示框中message左对齐的需求,而苹果SDK中并没有公开一些属性来设置其中message的样式。所以其实只有拿到用来展示message的那个控件就好了,然后设置它的一些属性,其...
  • HeChunyanChen
  • HeChunyanChen
  • 2017年02月24日 14:18
  • 363

UIAlertView的使用方法

1. 最简单的用法 UIAlertView*alert = [[UIAlertView alloc]initWithTitle:@"提示"                           ...
  • a6472953
  • a6472953
  • 2012年05月03日 09:46
  • 10915

IOS开发:UIAlertView使用

UIAlertView是什么就不介绍了 1.基本用法 1 UIAlertView *view = [[UIAlertView alloc]initWithTitle:@"Test" ...
  • dyllove98
  • dyllove98
  • 2013年07月30日 20:05
  • 6955

iOS9使用提示框的正确实现方式(UIAlertView is deprecated)

iOS9使用提示框的正确实现方式(UIAlertView is deprecated) 前言 在从iOS8到iOS9的升级过程中,弹出提示框的方式有了很大的改变,在Xcode7 ,iO...
  • ktpd_pro
  • ktpd_pro
  • 2016年12月05日 15:05
  • 1556

去除掉屏幕上所有的UIAlertView

在 iOS 7 系统之前, AlertVIew 显示的原理是在屏幕上家里一层 Alertwindow , 然后AlertView 的视图加在了这个Window 上,所以可以通过获取window上的视图...
  • wildfireli
  • wildfireli
  • 2014年01月22日 18:21
  • 5452
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UIAlertView
举报原因:
原因补充:

(最多只允许输入30个字)