ios中Alert提示框的简单使用

应用中经常会用到Alert提示框,用来提示用户或者给用户一个确定选择的警告,比如注销用户中就会用到这一提示框,如下图:

ios中Alert提示框的简单使用_第1张图片


做这种提示框也很简单,两行代码就可以:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:@"是否确定注销" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
[alert show];

几个参数都很明了,title是标题,这里没写,message是内容,delegate是委托,后面再说,紧跟着取消按钮的文字和其他按钮的文字,这里可以一直添加很多按钮,但常见的还是一个确定按钮吧。此外,取消按钮时可以不用的,比如在只需要提示用户一个信息而不需要用户做出选择的时候,可以把取消按钮的值设为nil,只写一个确定按钮的值。


刚才说到委托,委托的作用在于,当用户做出选择,比如注销时选择确定时,后续的注销操作代码就是写在委托里的,首先需要在.h文件中添加委托<UIAlertViewDelegate>,然后就可以在.m文件中写委托的后续操作了:

#pragma mark - UIAlertViewDelegate
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
        if (buttonIndex == 1) {//确定则注销
//注销操作的代码
        }
}

这里判断了一下用户点击的按钮序号,序号0是之前的取消按钮,1就是跟着的确定按钮,如果还有其他按钮的话,则依次排序。还有一个问题,比如你在一个界面中有多处控件的操作用到了提示框,并且需要用户做出选择,在委托中,这里这判断了用户点击的是哪个按钮,并没有判断用户遇到的是哪个提示框,怎样相应地做出判断呢?在ios中,所有控件都可以设置Tag标签,我们可以根据这个标签来区分控件:

//注销用户回到登陆界面
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:@"是否确定注销" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
        [alert setTag:1];//设置tag以区分不同alert
        [alert show];



	#pragma mark - UIAlertViewDelegate
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    if ([alertView tag] == 1) {
        //来自注销用户的alert
        if (buttonIndex == 1) {//确定则注销
            [self dismissModalViewControllerAnimated:YES];
        }
    }
    else if ([alertView tag] == 2) {
        //其他提示框
    }
}

基本上我目前遇到常见的Alert的使用情况都在这了,以后再遇见新的再添加吧~



你可能感兴趣的:(ios,uialertview)