旧版提示框
UIAlertView *alt=[[UIAlertView alloc]initWithTitle:@"友情提示" message:@"是否是成年人" delegate:self cancelButtonTitle:@"不满足" otherButtonTitles:@"满足", nil];
alt.delegate=self;
[alt show];
UIAlertView获取按钮的点击事件需要使用代理的方式,代理类为:UIAlertViewDelegate。然后实现其方法,即可获取按钮的点击事件。
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
NSLog(@"%ld",buttonIndex);
}
底部提示框
UIActionSheet *sheet=[[UIActionSheet alloc] initWithTitle:@"请选择城市" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:@"北京" otherButtonTitles:@"上海", nil];
[sheet showInView:self.view];
与上述提示框类似,代理为:UIActionSheetDelegate,点击的代理方法如下:
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
}
新版提示框
UIAlertController *controller=[UIAlertController alertControllerWithTitle:@"友情提示" message:@"是否购买" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *act1=[UIAlertAction actionWithTitle:@"买" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
}];
UIAlertAction *act2=[UIAlertAction actionWithTitle:@"不买" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
}];
[controller addAction:act1];
[controller addAction:act2];
[self presentViewController:controller animated:YES completion:^{
}];
此提示框需要使用控件触发弹出。
新版ActionSheet
UIAlertController *controller=[UIAlertController alertControllerWithTitle:@"选择" message:@"请选择" preferredStyle:UIAlertControllerStyleActionSheet];
UIAlertAction *act1=[UIAlertAction actionWithTitle:@"买" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
}];
UIAlertAction *act2=[UIAlertAction actionWithTitle:@"不买" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
}];
[controller addAction:act1];
[controller addAction:act2];
[self presentViewController:controller animated:YES completion:^{
}];
取消提示框
[self dismissViewControllerAnimated:YES completion:^{
}];