//按钮的点击方法
- (void)catchImage {
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"请选择" message:@"选取照片" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *action1 = [UIAlertAction actionWithTitle:@"相机" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
picker.delegate = self;
picker.allowsEditing = YES;
[self presentViewController:self animated:YES completion:nil];
} else {
UIAlertController *controller = [UIAlertController alertControllerWithTitle:@"没有摄像头" message:nil preferredStyle:UIAlertControllerStyleActionSheet];
UIAlertAction *action = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDestructive handler:nil];
[controller addAction:action];
[self presentViewController:controller animated:YES completion:nil];
}
}];
[alert addAction:action1];
UIAlertAction *action2 = [UIAlertAction actionWithTitle:@"相册" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
picker.delegate = self;
picker.allowsEditing = YES;
[self presentViewController:picker animated:YES completion:nil];
}];
[alert addAction:action2];
[self presentViewController:alert animated:YES completion:nil];
}
//选取图片之后执行的方法
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info {
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
self.imageView.image = image;
[picker dismissViewControllerAnimated:YES completion:nil];
}
- (void)viewDidLoad {
[super viewDidLoad];
_button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[_button setTitle:@"选取头像" forState:UIControlStateNormal];
_button.frame = CGRectMake(100, 100, 100, 30);
[_button addTarget:self action:@selector(catchImage) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:_button];
_imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 250, 150, 150)];
_imageView.backgroundColor = [UIColor yellowColor];
[self.view addSubview:_imageView];
// Do any additional setup after loading the view.
}