今天来讲一下UIAlertView的用法,真好今天有用到,就拿来总结一下。
首先创建UIAlertView的对象,然后显示在界面上:
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"类别修改" message:@"修改什么?" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:@"修改",nil];
[alert show];
[alert show];是显示这个alert在界面上。
效果图:
当然这只是显示在界面上,它的按钮有默认的一个cancelButton,也就是取消按钮,点击后remove掉这个界面,可是当你想要点击“修改”时,触发你想要的操作怎么办呢?只要你实现它的delegate就行了(UIAlertViewDelegate):
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"类别修改" message:@"修改什么?" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"修改",nil];
[alert show];
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
switch (buttonIndex) {
case 1:
{
NSLog(@"我修改了!");
}
break;
default:
break;
}
}
将delegate设成self,那么就可以实现UIAlertViewDelegate里面的方法了,当点击修改时,触发这个回调方法,如果你想添加跟多的按钮,那么在otherButtonTitles那里添加按钮名字就可以了,然后buttonIndex可以知道你点击了那个按钮。
这个只是常见的弹出框(警告框),那我想要实现在上面输入账号密码什么的怎么实现呢?
UIAlertView有一个style的属性,只要设置这个属性就可以了
typedef NS_ENUM(NSInteger, UIAlertViewStyle) {
UIAlertViewStyleDefault = 0, //默认为没有输入框
UIAlertViewStyleSecureTextInput, //密码输入框
UIAlertViewStylePlainTextInput, //明文输入框
UIAlertViewStyleLoginAndPasswordInput //明文加密码输入框
};
上代码:
alert.alertViewStyle=UIAlertViewStylePlainTextInput; //设置style
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
switch (buttonIndex) {
case 1:
{
// NSLog(@"我修改了!");
//得到输入框
UITextField *tf=[alertView textFieldAtIndex:0];
NSLog(@"%@",tf.text);
}
break;
default:
break;
}
}
效果图:
大概就这些了,下次再写UIActionSheet