关于加载h5网页 使用h5 调用手机相册的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于加载h5网页 使用h5 调用手机相册的问题相关的知识,希望对你有一定的参考价值。

参考技术A 问题(一)

问题(二)

[iOS开发]iOS调用系统相册相机

引入框架:

#import <AssetsLibrary/AssetsLibrary.h>
#import <Photos/Photos.h>

实现代理:

UIImagePickerControllerDelegate

建一个imageView,并为它添加一个点击事件

	_imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 200, 200)];
    _imageView.backgroundColor = [UIColor grayColor];
    _imageView.userInteractionEnabled = YES;
    [self.view addSubview: _imageView];
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(singerTap:)];
    [_imageView addGestureRecognizer:tap];

点击事件响应函数:

- (void)singerTap:(UITapGestureRecognizer *)gesture 
    
    //UIAlertControllerStyleActionSheet弹窗在屏幕下面
    UIAlertController *alert=[UIAlertController alertControllerWithTitle:@"选取图片" message:nil preferredStyle: UIAlertControllerStyleActionSheet];
    UIAlertAction *cameraAction=[UIAlertAction actionWithTitle:@"相机" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) 
        //点语法
        self.imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
        self->_imagePickerController.cameraDevice = UIImagePickerControllerCameraDeviceRear;
        self->_imagePickerController.modalPresentationStyle = UIModalPresentationFullScreen;
        
        //录制视频时长,默认10s
        self->_imagePickerController.videoMaximumDuration = 15;
        //相机类型(拍照、录像...)字符串需要做相应的类型转换
        self->_imagePickerController.mediaTypes = @[(NSString *)kUTTypeMovie,(NSString *)kUTTypeImage];
        //视频上传质量
        //UIImagePickerControllerQualityTypeHigh高清
        //UIImagePickerControllerQualityTypeMedium中等质量
        //UIImagePickerControllerQualityTypeLow低质量
        //UIImagePickerControllerQualityType640x480
        self->_imagePickerController.videoQuality = UIImagePickerControllerQualityTypeHigh;
        //设置摄像头模式(拍照,录制视频)为录像模式
        self->_imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
        
        [self presentViewController:self->_imagePickerController animated:YES completion:nil];
    ];
    
    UIAlertAction *photosAlbumAction=[UIAlertAction actionWithTitle:@"图片" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) 
        //点语法
        self.imagePickerController.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
        self->_imagePickerController.modalPresentationStyle = UIModalPresentationFullScreen;
        [self presentViewController:self->_imagePickerController animated:YES completion:nil];
    ];
    
    UIAlertAction *cancelAction=[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) 
        
        [self dismissViewControllerAnimated:YES completion:nil];
    ];
    //判断是否支持相机
    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) 
        [alert addAction:cameraAction];
    
    [alert addAction:photosAlbumAction];
    [alert addAction:cancelAction];
    
    [self presentViewController:alert animated:YES completion:nil];

选取后回调函数:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<UIImagePickerControllerInfoKey,id> *)info 
    
    [picker dismissViewControllerAnimated:YES completion:nil];
    //原始照片
//    _imageView.image = [info objectForKey: UIImagePickerControllerOriginalImage];
    //编辑后照片
    _imageView.image = [info objectForKey: UIImagePickerControllerEditedImage];

以上是关于关于加载h5网页 使用h5 调用手机相册的问题的主要内容,如果未能解决你的问题,请参考以下文章

h5调用手机摄像头/相册

html5怎样调用手机摄像头或者相册

html5怎样调用手机摄像头或者相册

H5调用本地相册/相机上传图片

html5怎样调用手机摄像头或者相册?

手机网页(html5) 如何调用手机的摄像头和相册