第一步:UIAlertController对象
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"选择" message:nil preferredStyle:UIAlertControllerStyleActionSheet];
UIAlertController的样式决定弹框从哪里弹出: UIAlertControllerStyleActionSheet 和 UIAlertControllerStyleAlert
第二步:UIAlertAction对象
UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
}];
UIAlertAction *safari = [UIAlertAction actionWithTitle:@"safari打开" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]];
}];
第三步:添加并显示
[alert addAction:cancel];
[alert addAction:safari];
[self presentViewController:alert animated:YES completion:nil];
注意:UIAlertAction的block中可以嵌套UIAlertController和UIAlertAction,例如
UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"复制" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
//复制
if (urlStr.length >0) {
[[UIPasteboard generalPasteboard] setString:urlStr];
UIAlertController *pasteboard = [UIAlertController alertControllerWithTitle:@"已复制链接" message:nil preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *paste = [UIAlertAction actionWithTitle:@"知道了" style:UIAlertActionStyleDefault handler:nil];
[pasteboard addAction:paste];
[self presentViewController:pasteboard animated:YES completion:nil];
}
}];