ios7_如何实现UIAlertView以及监听点击事件(默认样式)

1、在viewController的.m文件,遵守<UIAlertViewDelegate>代理协议

 

@interface moboViewController () <UIAlertViewDelegate> 

 

2、在 – (void)viewDidLoad 方法中实现UIAlertView

 

复制代码

 1 – (void)viewDidLoad

 2 {

 3     [super viewDidLoad];

 4     

 5   // 1、初始化 alertView

 6   UIAlertView *altView = [[UIAlertView alloc]initWithTitle:[self
altTitle] message:[self altMSG] delegate:self
cancelButtonTitle:[self cancelBtnTitle] otherButtonTitles:[self
otherBtnTitle], nil];

 7     // 2、显示 alertView

 8     [altView show];

 9     

10 }

复制代码

 

 

3、继续实现其它方法,返回各种标题以及监听按钮点击事件的代理方法

 

复制代码

 1 //返回 标题

 2 – (NSString *)altTitle{

 3     return @”下线通知”;

 4 }

 5 

 6 //返回 消息体

 7 – (NSString *)altMSG{

 8     return
@”你的帐号在异地登录,密码可能泄露,建议前往http://mobodemy.com进行修改。“;

 9 }

10 

11 //返回 退出按钮 标题

12 – (NSString *) cancelBtnTitle {

13     return @”退出”;

14 }

15 

16 //返回 重新登录 按钮标题

17 – (NSString *) otherBtnTitle {

18     return @”重新登录”;

19 }

20 

21 //监听点击事件 代理方法

22 – (void)alertView:(UIAlertView *)alertView
clickedButtonAtIndex:(NSInteger)buttonIndex

23 {

24     NSString *btnTitle = [alertView
buttonTitleAtIndex:buttonIndex];

25     if ([btnTitle isEqualToString:[self cancelBtnTitle]]) {

26         NSLog(@”你点击了退出”);

27     }

28     else if ([btnTitle isEqualToString:[self otherBtnTitle]] ) {

29         NSLog(@”你点击了重新登录按钮”);

30     }

31 }

http://www.bkjia.com/IOSjc/868960.htmlwww.bkjia.comtruehttp://www.bkjia.com/IOSjc/868960.htmlTechArticleios7\_如何实现UIAlertView以及监听点击事件(默认样式)
1、在viewController的.m文件,遵守UIAlertViewDelegate代理协议 @interface
moboViewController () UIA…

1.前言
之前简单的学习了Objective-C的基础语法,从今天起我们开始学习简单的IOS视图开发。

2.UIAlertView入门
2.1普通弹框
使用提示视图的最好方法,当然是使用特定的初始化方法:

 

[plain]

  • (void)viewDidLoad 

        [super viewDidLoad]; 
        // Do any additional setup after loading the view, typically from a
    nib. 
         
        //Title:这个字符串会显示在提示视图的最上面的Title。 
        UIAlertView *alertView = [[UIAlertView alloc]
    initWithTitle:@”Title” 
        //message:这是要给用户看的实际讯息。 
        message:@”Message” 
       
    //delegate:我们可以传递委托对象(可选)给提示视图。当视图状态变更时,委托对象会被通知。传递的参数对象必须实践UIAlertViewDelegate协定. 
        delegate:nil 
       
    //cancelButtonTitle:可选参数。这个字符串符会显示在提示视图的取消按钮上。通常有取消按钮的提示视图都是要要求用户做确认,用户若不愿意进行该动作,就会按下取消。这个按钮的的标是可以自行设定的,不一定会显示取消。 
        cancelButtonTitle:@”Cancel” 
       
    //otherButtonTitles:可选参数。若你希望提示视图出现其他按钮,只要传递标题参数。此参数需用逗号分隔,用
    nil 做结尾。 
        otherButtonTitles:@”Ok”, nil]; 
        [alertView show]; 

– (void)viewDidLoad
{
    [super viewDidLoad];
 // Do any additional setup after loading the view, typically from a
nib.
   
    //Title:这个字符串会显示在提示视图的最上面的Title。
    UIAlertView *alertView = [[UIAlertView alloc]
initWithTitle:@”Title”
    //message:这是要给用户看的实际讯息。
    message:@”Message”
   
//delegate:我们可以传递委托对象(可选)给提示视图。当视图状态变更时,委托对象会被通知。传递的参数对象必须实践UIAlertViewDelegate协定.
    delegate:nil
   
//cancelButtonTitle:可选参数。这个字符串符会显示在提示视图的取消按钮上。通常有取消按钮的提示视图都是要要求用户做确认,用户若不愿意进行该动作,就会按下取消。这个按钮的的标是可以自行设定的,不一定会显示取消。
    cancelButtonTitle:@”Cancel”
   
//otherButtonTitles:可选参数。若你希望提示视图出现其他按钮,只要传递标题参数。此参数需用逗号分隔,用
nil 做结尾。
    otherButtonTitles:@”Ok”, nil];
    [alertView show];
}

运行结果:

 

 bet36365注册送奖金 1
 

 

2.2代理弹框
.h文件:

[plain]
@interface ZYAlertYesOrNoViewController :
UIViewController<UIAlertViewDelegate>//增加UIAlertViewDelegate代理 
-(void) alertView:(UIAlertView *)alertView
clickedButtonAtIndex:(NSInteger)buttonIndex; 
@end 

@interface ZYAlertYesOrNoViewController :
UIViewController<UIAlertViewDelegate>//增加UIAlertViewDelegate代理
-(void) alertView:(UIAlertView *)alertView
clickedButtonAtIndex:(NSInteger)buttonIndex;
@end.m文件:

[plain]

  • (void)viewDidAppear:(BOOL)animated{ 
        [super viewDidAppear:animated]; 
        //初始化UIAlertView 
        self.view.backgroundColor = [UIColor whiteColor]; 
        UIAlertView *alertView = [[UIAlertView alloc] 
                                  initWithTitle:@”Rating” 
                                  message:@”Can you please rate our app?” 
                                  //为自身添加代理 
                                  delegate:self 
                                  cancelButtonTitle:[self
    noButtonTitle] 
                                  otherButtonTitles:[self yesButtonTitle],
    nil]; 
        [alertView show]; 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图