UIActionSheet,UIAlertView技术分享

来源:互联网 发布:成都 都江堰旅游 知乎 编辑:程序博客网 时间:2024/06/06 13:15

UIActionSheet


#import "FirstViewController.h"@interface FirstViewController ()<UIActionSheetDelegate,UIAlertViewDelegate>@property (retain, nonatomic) IBOutlet UILabel *aLabel;@property (retain, nonatomic) IBOutlet UITextField *textField;@end@implementation FirstViewController- (void)viewDidLoad {    [super viewDidLoad];    // Do any additional setup after loading the view from its nib.}- (IBAction)upButton:(UIButton *)sender {            //UIActionSheet        UIActionSheet *sheet = [[UIActionSheet alloc]initWithTitle:@"选择" delegate:self cancelButtonTitle:@"取消按钮" destructiveButtonTitle:@"确认按钮" otherButtonTitles:nil, nil];    sheet.actionSheetStyle = UIActionSheetStyleBlackOpaque;//      更改标题    sheet.title = @"请点击您的选择";//    添加按钮    //添加的按钮位置从第三个算起    [sheet addButtonWithTitle:@"添加的按钮"];    //红色按钮位置    sheet.destructiveButtonIndex = 0;    [sheet showInView:self.view];    [sheet release];          //UIAlertView        //一般来说,根据苹果官方制定的《iOS 用户界面指南》,在拥有两个按钮的对话框中,您应当将取消按钮放在左边    UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"是否已满十八岁?"  delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];        alert.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;    //UIAlertViewStyleDefault 默认风格,无输入框    //UIAlertViewStyleSecureTextInput 带一个密码输入框    //UIAlertViewStylePlainTextInput 带一个文本输入框    //UIAlertViewStyleLoginAndPasswordInput 带一个文本输入框,一个密码输入框    [alert show];    [alert release];}

第一种 ActionSheet单独使用

//第一种 ActionSheet单独使用//接收ActionSheet点击事件//该方式由UIActionSheetDelegate协议定义,点击ActionSheet的按钮后自动执行- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex{    switch (buttonIndex) {        case 0:            self.aLabel.text = self.textField.text;            break;        case 1:            break;        case 2:            NSLog(@"让你点你还真点");            break;        default:            break;    }}

第二种,单独使用UIAlertView

//接收UIAlertView点击事件-(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex{         switch (buttonIndex) {        case 0:            break;        case 1:            self.aLabel.text = self.textField.text;            break;        default:            break;    }}

第三种混合使用

- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex{     NSString *string=[NSString stringWithFormat:@"你选择了 %@",[actionSheet buttonTitleAtIndex:buttonIndex]];        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"输入账户和密码" message:string  delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];    alert.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;    //UIAlertViewStyleDefault 默认风格,无输入框    //UIAlertViewStyleSecureTextInput 带一个密码输入框    //UIAlertViewStylePlainTextInput 带一个文本输入框    //UIAlertViewStyleLoginAndPasswordInput 带一个文本输入框,一个密码输入框    switch (buttonIndex) {        case 0:            [alert show];            break;        case 1:            break;        default:            break;    }     [alert release]; }

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex{    //该方法由UIAlertViewDelegate协议定义,在点击AlertView按钮时自动执行,所以如果这里再用alertView来弹出提示,就会死循环,不停的弹AlertView    //    NSString * string=[NSString stringWithFormat:@"你点击了 %@",[alertView buttonTitleAtIndex:buttonIndex]];    NSString * string=[NSString stringWithFormat:@"你点击了 %@",[alertView buttonTitleAtIndex:buttonIndex]];        switch (buttonIndex) {        case 0:            break;        case 1:            self.aLabel.text = self.textField.text;            break;        default:            break;    }    //    UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"提示" message:string delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil];//        [alert show];    NSLog(@"%@",string);//    NSLog(@"输入 %@",[[alertView textFieldAtIndex:0] text]);    //获取第一个文本框输入的文本,如果没有文件框,会异常,索引从0开始    }
<span style="background-color: rgb(255, 0, 0);"><span style="color:#99ff99;">最终效果:</span></span>



0 0
原创粉丝点击