• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Objective-C,ios,iphone开发基础:UIAlertView使用详解

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Ios中为我们提供了一个用来弹出提示框的类 UIAlertView,他类似于javascript中的alert c#中的MessageBox();

UIAlertView 继承自 UIView @interface UIAlertView : UIView )

一、简单的初始化一个UIAlertView 对象。

 UIAlertView* alert = [[UIAlertView alloc] init];

激活 alert ,让它显示。

 [alert show];

结果将如下:

 

 

这样虽然出现了一个提示框,但是太不过友好,让人根本无法使用。

二,带有button的提示框。

UIAlertView 里面包含了另外一种用来初始化的方法。

- (id)initWithTitle:(NSString *)title message:(NSString *)message delegate:(id /*<UIAlertViewDelegate>*/)delegate cancelButtonTitle:(NSString *)cancelButtonTitle otherButtonTitles:(NSString *)otherButtonTitles, ... NS_REQUIRES_NIL_TERMINATION;

 

带有一个button

UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"简单的提示框" message:@"simple alert" delegate:self cancelButtonTitle:@"ok" otherButtonTitles: nil];

[alert show];

 

 

带有多个button

 UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"简单的提示框" message:@"simple alert" delegate:self cancelButtonTitle:@"ok" otherButtonTitles:@"Button1",@"Button2",@"Button3" ,nil];

[alert show];

 

要想处理多个button点击之后做出不同响应,那么必须让当前控制器类遵循 UIAlertViewDelegate 协议。

UIAlertViewDelegate 里面包含了一个方法(- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex;),用来触发在点击button之后的操作,判断是哪一个button 有两种方式,一种是更具button 的索引,

另外一种是buttontitle

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

    NSString* buttonTitle = [alertView buttonTitleAtIndex:buttonIndex];

    if([buttonTitle isEqualToString:@"Button1"]){

        userOutput.text = buttonTitle;

    }if([buttonTitle isEqualToString:@"Button2"]){

        userOutput.text = buttonTitle;

    }if([buttonTitle isEqualToString:@"Button3"]){

        userOutput.text = buttonTitle;

    }if([buttonTitle isEqualToString:@"ok"]){

        userOutput.text = buttonTitle;

    }

}

 

 

 

三 、给提示框添加输入框,最经典的案例,appstore 下载的时候输入密码、

   首先,初始化UITextField

   userInput = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 70.0, 260.0, 25.0)];

    [userInput setBackgroundColor:[UIColor whiteColor ]];

    将userInput  添加在 alert上,

 

    [alert addSubview:userInput];

 

 

- (IBAction)btnWithTextField:(id)sender {

    

    UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Please Enter Your Email Address" message:@"simple alert" delegate:self cancelButtonTitle:@"ok" otherButtonTitles: nil];

    userInput = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 70.0, 260.0, 25.0)];

    [userInput setBackgroundColor:[UIColor whiteColor ]];

    [alert addSubview:userInput];

    [alert show];

    [alert release];

    [userInput release];

}

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

    NSMutableString* buttonTitle = [NSMutableString stringWithString:[alertView buttonTitleAtIndex:buttonIndex]];

    if([buttonTitle isEqualToString:@"Button1"]){

        userOutput.text = buttonTitle;

    }if([buttonTitle isEqualToString:@"Button2"]){

        userOutput.text = buttonTitle;

    }if([buttonTitle isEqualToString:@"Button3"]){

        userOutput.text = buttonTitle;

    }if([buttonTitle isEqualToString:@"ok"]){

        [buttonTitle appendString:userInput.text];

        userOutput.text = buttonTitle;

        

    }

}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap