如图所示当你UIAlert时 UIAlertView被划了一道红线 说明oc已经弃用了UIAlertView 随之而来的是UIAlertController
那么UIAlertController怎么用呢 会不会很麻烦
别急 看代码
我现在需要一个弹出框 然后选择图片的来源 是从相册获取还是拍照
代码 点击已经设置好的icon 弹框
#pragma mark --更改icon-- - (void)changeIconImage{ UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"选择图片来源" message:nil preferredStyle:UIAlertControllerStyleAlert]; UIAlertAction *photography = [UIAlertAction actionWithTitle:@"拍照" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { [self photography]; }]; UIAlertAction *photoSelect = [UIAlertAction actionWithTitle:@"从相册选取" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { [self photoSelect]; }]; UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDefault handler:nil]; [alert addAction:photography]; [alert addAction:photoSelect]; [alert addAction:cancel]; [self presentViewController:alert animated:YES completion:nil]; // UIActionSheet *as = [[UIActionSheet alloc] initWithTitle:@"选择图片来源" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"从相册选取", @"拍照", nil]; // // [as showInView:self.view]; }
#pragma mark --photography拍照-- - (void)photography{ UIImagePickerController *ipc = [[UIImagePickerController alloc] init]; ipc.navigationBar.backgroundColor = [UIColor redColor]; //判断设备是否支持这种sourcetype if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]){ ipc.sourceType = UIImagePickerControllerSourceTypeCamera; } ipc.delegate = self; //是否允许编辑 ipc.allowsEditing = YES; [self presentViewController:ipc animated:YES completion:nil]; } - (void)photoSelect{ UIImagePickerController *ipc = [[UIImagePickerController alloc] init]; ipc.navigationBar.backgroundColor = [UIColor redColor]; //判断设备是否支持这种sourcetype if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum]){ ipc.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; } ipc.delegate = self; //是否允许编辑 ipc.allowsEditing = YES; [self presentViewController:ipc animated:YES completion:nil]; } #pragma mark---ImagePickerControllerDelegate--- - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{ UIImage *image = [info valueForKey:UIImagePickerControllerOriginalImage]; iconImageView.image = image; [picker dismissViewControllerAnimated:NO completion:nil]; } 这三段代码连起来问题就解决了 不过亲 要记得加上 UIImagePickerControllerDelegate , UINavigationControllerDelegate 这两个 下面解决问题的图片 测试 图片成功替换 没任何问题
