iOS 拍照及获取相册图片功能

本文提供了一个简单的iOS应用示例,展示如何实现从相册选取和使用相机拍照获取图片的功能。通过创建UIAlertController弹窗,用户可以选择相册或相机,并在选择图片后显示在UIImageView上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不说话,直接上个例子,很简单哦

@interfaceViewController ()

@end

@implementation ViewController {

UIAlertController * actionSheet;

UIImageView *imageview;

}

- (void)viewDidLoad {

[superviewDidLoad];

UIButton *btn = [UIButtonbuttonWithType:UIButtonTypeCustom];

btn.frame = CGRectMake(100, 220, 100, 40);

[btn setTitle:@"获取"forState:0];

[btn setTitleColor:[UIColor greenColor] forState:0];

​ [self.view addSubview:btn];

[btn addTarget:selfaction:@selector(BtnClick) forControlEvents:UIControlEventTouchUpInside];

actionSheet =[UIAlertControlleralertControllerWithTitle:@"选择图像"message:nilpreferredStyle:UIAlertControllerStyleActionSheet];

UIAlertAction *num1=[UIAlertActionactionWithTitle:@"相册"style:UIAlertActionStyleDefaulthandler:^(UIAlertAction * _Nonnull action) {

NSLog(@"11111");

​ UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];

imagePickerController.delegate = self;

imagePickerController.allowsEditing = YES;

imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

[selfpresentViewController:imagePickerController animated:YEScompletion:^{ NSLog(@"进入相册");

}];

}];

UIAlertAction *num2=[UIAlertActionactionWithTitle:@"拍照"style:0handler:^(UIAlertAction * _Nonnull action) {

NSLog(@"222222");

if([UIImagePickerControllerisSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] )​ {

UIImagePickerController *imagePickerController = [[UIImagePickerControlleralloc] init];

imagePickerController.delegate = self;

imagePickerController.allowsEditing = YES;

imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;

[selfpresentViewController:imagePickerController animated:YEScompletion:^{ NSLog(@"进入相机");

}];

}else {

UIAlertView *aa=[[UIAlertViewalloc] initWithTitle:@"温馨提示"message:@"操作警告"delegate:selfcancelButtonTitle:nilotherButtonTitles:@"不支持相机", nil];

[aa show];

} }];

UIAlertAction *num3=[UIAlertActionactionWithTitle:@"取消"style:1handler:^(UIAlertAction * _Nonnull action) { NSLog(@"333333");

}];

[actionSheetaddAction:num1];

[actionSheetaddAction:num2];

[actionSheetaddAction:num3];

imageview = [[UIImageViewalloc] initWithFrame:CGRectMake(100, 100, 100, 100)];

imageview.image = nil; [self.viewaddSubview:imageview];

}

- (void)BtnClick {

[selfpresentViewController:actionSheetanimated:YEScompletion:nil];

}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

[picker dismissViewControllerAnimated:YEScompletion:^{ }];

UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];

NSLog(@"image:%@",image);

imageview.image = image;

}

ok了,复制一下没多少代码的。。。。。。求赞

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值