iOS开发:提示框的几种用法

一、UIActionSheet从底部弹出

UIActionSheet的代理协议<UIActionSheetDelegate>

-(void)clickButton{

    UIActionSheet * sheet = [[UIActionSheet alloc] initWithTitle:@"提示" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:@"确定" otherButtonTitles:nil, nil];
    [sheet showInView:self.view];
    
}

//协议方法调用
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
    
    NSLog(@"在此根据buttonIndex进行方法处理");
}


二、UIAlertView显示在屏幕中间

UIAlertView的代理协议<UIAlertViewDelegate>

-(void)clickButton{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"提示内容" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:nil, nil];
    [alert show];
    
}

//协议代理方法
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    
    NSLog(@"在此根据buttonIndex进行方法处理");
    
}


三、UIAlertController不需要代理执行放在block里,有多种样式。
-(void)clickButton{

    UIAlertController * alert = [UIAlertController alertControllerWithTitle:@"提示" message:msg preferredStyle:UIAlertControllerStyleActionSheet];
    UIAlertAction * action = [UIAlertAction actionWithTitle:@"我知道了" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {
        NSLog(@"alertController被调用");
    }];
    UIAlertAction * action2 = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
        NSLog(@"alertController调用取消操作");
    }];
    [alert addAction:action];
    [alert addAction:action2];
    [self presentViewController:alert animated:YES completion:nil];    
}




你可能感兴趣的:(ios开发)