Iphone对话框工具类详解

来源:未知 责任编辑:智问网络 发表时间:2013-10-22 19:17 点击:

在项目中我把对话框的弹出与点击事件通过一个工具类给封装起来了,重要的是要在调用这个工具类的时候实现工具类中的协议,这个协议的方法是为了告诉页面到底点击了哪种对话筐的哪一个button,然后页面中可以根据传过去的不同值做出不同的事件响应,代码如下:
.h文件
[cpp]
#import <Foundation/Foundation.h> 
 
@protocol myAlertviewutilDelegate <NSObject> 
 
-(void)myalertviewbuttonclik:(int)num; 
 
@end 
 
@interface AlertViewUtil : NSObject<UIAlertViewDelegate> { 
    //自定义的对话筐协议 
    id<myAlertviewutilDelegate> utildelegate; 
    UIAlertView *myonealertview;//一个按钮的对话筐 
    UIAlertView *mytwoalertview;//两个按钮的对话筐 
    UIAlertView *mythreealertview;//三个按钮的对话筐 

 
@property(nonatomic,retain) id<myAlertviewutilDelegate> utildelegate; 
 
 
-(void)alertviewutilone:(NSString *)buttontitleone addmessage:(NSString *)message; 
-(void)alertviewutiltwo:(NSString *)buttontitleone twobutton:(NSString *)buttontitletwo addmessage:(NSString *)message; 
-(void)alertviewutilthree:(NSString *)buttontitleone twobutton:(NSString *)buttontitletwo threebutton:(NSString *)buttontitlethree addmessage:(NSString *)message; 
@end 

.m文件
[cpp]
#import "AlertViewUtil.h" 
 
 
@implementation AlertViewUtil 
@synthesize utildelegate; 
 
-(void)dealloc{ 
    [utildelegate release]; 
    [super dealloc]; 

//实现系统对话筐协议中的button点击方法 
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ 
    //点击的是第一个alertview 
    if (alertView == myonealertview) { 
        if (buttonIndex == 0) { 
            [self.utildelegate myalertviewbuttonclik:11]; 
        } 
            [myonealertview release]; 
    } 
    //点击的是第二个alertview 
    else if (alertView == mytwoalertview) { 
        if (buttonIndex == 0) { 
              [self.utildelegate myalertviewbuttonclik:21]; 
        } 
        else if(buttonIndex == 1){ 
            [self.utildelegate myalertviewbuttonclik:22]; 
        } 
        [mytwoalertview release]; 
    } 
    //点击的是第三个alertview 
   else if (alertView == mythreealertview) { 
        if (buttonIndex == 0) { 
            [self.utildelegate myalertviewbuttonclik:31]; 
        } 
        else if(buttonIndex == 1){ 
            [self.utildelegate myalertviewbuttonclik:32]; 
        } 
        else if(buttonIndex == 2){ 
            [self.utildelegate myalertviewbuttonclik:33]; 
        } 
             
            [mythreealertview release]; 
    } 
      

 
//只有一个按钮 的alertview 
-(void)alertviewutilone:(NSString *)buttontitleone addmessage:(NSString *)message{ 
    myonealertview = [[UIAlertView alloc]initWithTitle:@"提示" message:message delegate:self cancelButtonTitle:nil otherButtonTitles:buttontitleone, nil]; 
    [myonealertview show]; 

 
//两个按钮 的alertview 
-(void)alertviewutiltwo:(NSString *)buttontitleone twobutton:(NSString *)buttontitletwo addmessage:(NSString *)message{ 
    mytwoalertview = [[UIAlertView alloc]initWithTitle:@"提示" message:message delegate:self cancelButtonTitle:nil otherButtonTitles:buttontitleone,buttontitletwo, nil]; 
    [mytwoalertview show]; 

 
//三个按钮 的alertview 
-(void)alertviewutilthree:(NSString *)buttontitleone twobutton:(NSString *)buttontitletwo threebutton:(NSString *)buttontitlethree addmessage:(NSString *)message{ 
    mythreealertview = [[UIAlertView alloc]initWithTitle:@"提示" message:message delegate:self cancelButtonTitle:nil otherButtonTitles:buttontitleone,buttontitletwo,buttontitlethree, nil]; 
    [mythreealertview show]; 

 
@end 



摘自 RiverAM的专栏

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Lexical or Preprocessor Issue 'xxx.h
    • ios学习笔记(二)xcode 4.3.2下实现基本交互
    • ios版本的helloworld
    • iphone(object-c) 内存管理(3) 有效的内存管理 前半部分
    • ios学习笔记(一)xcode 4.3.2下创建第一个ios项目
    • IOS类似iphone通讯录TableView的完整demo【附源码】
    • UITableView一些方法
    • [iPhone中级]iPhone团购信息客户端的开发 (二)
    • 如何为Iphone应用创建启动界面
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1