UIActionSheet,UIAlertView技术分享-阿里云开发者社区

开发者社区> 安全> 正文
登录阅读全文

UIActionSheet,UIAlertView技术分享

简介: UIActionSheet #import "FirstViewController.h" @interface FirstViewController () @property (retain, nonatomic) IBOutlet UILabel *aLabel...

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>



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: