UIAlertController提示框

UIAlertController

UIAlertController 

//IOS8以上版本,使用UIAlertController代替 UIActionSheet和UIAlertView

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent*)event{

//preferredStyle:样式两种。
//一种是:alertView类型。从中间弹出
//一种actionsheet类型。从下面弹出

UIAlertController * alert = [UIAlertController alertControllerWithTitle:@"请输入密码" message:nil preferredStyle:UIAlertControllerStyleActionSheet];

//相当于我们alertView中的按钮系统绑定了一个blok块(对应的按钮的触发事件)

UIAlertAction *action = [UIAlertAction actionWithTitle:@"取消"style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
NSLog(@"取消按钮被点击了");
}];

//按钮:没有索引没有代理了有Block可以响应事件

UIAlertAction * actionDel = [UIAlertAction actionWithTitle:@"删除" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {
NSLog(@"这是要删除一条信息");
}];

//添加文本输入框actionsheet类型的不支持

//[alert addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
textField.secureTextEntry =YES;
}];

//添加行为按钮
[alert addAction:action];
[alert addAction:actionDel];

//模态展示方式
[self presentViewController:alert  animated:YES completion:nil];

}


UIAlertView

提示框 

//创建一个提示框
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示框" message:@"密码错误" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定",nil];

//导入代理协议UIAlertViewDelegate。设置代理
//alert.delegate = self;初始化时已经写了代理

//show一下展示提示框
[alert show];

#pragma mark == UIAlertViewDelegate方法

//-(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex

//-(void)alertViewCancel:(UIAlertView *)alertView

- (void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
//条件判断语句
switch(buttonIndex) {
case0:
NSLog(@"点击了取消按钮");
break;

case1:
NSLog(@"点击了确定按钮");
break;

default:
break;
}
}


UIActionSheet

ActionSheet 

//UIActionSheet: 标题选项提示框
//initWithTitle:提示框的标题
//delegate:代理:self表示当前类的调用
//destructiveButtonTitle:选项功能按钮标题为红色字体,默认第0个选项是红色字体,可以修改,手动设置属性
//otherButtonTitles:其他按钮标题

//触发提示框的方法
-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {

UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"提示框标题" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:@"警示性选项标题" otherButtonTitles:@"第一个选项",@"第二个选项",nil];

//设置红色字体选项的索引
actionSheet.destructiveButtonIndex= 0;

//设置取消按钮的索引
actionSheet.cancelButtonIndex= 3;

//样式设置
actionSheet.actionSheetStyle=UIActionSheetStyleDefault;

//显示提示框
[actionSheetshowInView:self.view];

}

#pragma mark ===== actionSheet代理方法

-(void)actionSheet:(UIActionSheet*)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{

switch(buttonIndex) {

case0:
//警示选项
break;

case1:
//第一个选项
break;

case2:
//第二个选项
break;

case3:
//取消按钮
break;

default:
break;
}
}

//在点击选项按钮以后actionSheet将要消失的时候调用
-(void)actionSheet:(UIActionSheet*)actionSheet willDismissWithButtonIndex:(NSInteger)buttonIndex{
NSLog(@"willDismissWithButtonIndex ======%ld",(long)buttonIndex);
}

//在点击选项按钮以后actionSheet已经消失的时候调用
-(void)actionSheet:(UIActionSheet*)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex{
NSLog(@"didDismissWithButtonIndex===%ld",(long)buttonIndex);
}

你可能感兴趣的:(UIAlertController提示框)