調(diào)取相機(jī)、相冊(cè)

點(diǎn)擊圖片調(diào)取相機(jī)或相冊(cè)

//遵循協(xié)議(調(diào)取相冊(cè)、相機(jī)使用)
<UIImagePickerControllerDelegate,UINavigationControllerDelegate>
//給頭像開啟用戶交互
 self.avatarImage.userInteractionEnabled = YES;
//設(shè)置手勢(shì)識(shí)別
    UITapGestureRecognizer * recognize = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(addDevies)];
    [self.avatarImage addGestureRecognizer:recognize];

//圖片點(diǎn)擊事件
- (void)addDevies
{
    //創(chuàng)建UIAlertController是為了讓用戶去選擇照片來(lái)源,拍照或者相冊(cè).
    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:0];
    UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
    imagePickerController.delegate = self;
    imagePickerController.allowsEditing = YES;
    //相冊(cè)
    UIAlertAction *albumAction = [UIAlertAction actionWithTitle:@"從相冊(cè)選取" style:(UIAlertActionStyleDefault) handler:^(UIAlertAction *action) {
        
        imagePickerController.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
        
        [self presentViewController:imagePickerController animated:YES completion:^{}];
    }];
    
    //相機(jī)
    UIAlertAction *photoAction = [UIAlertAction actionWithTitle:@"拍照" style:(UIAlertActionStyleDefault) handler:^(UIAlertAction *action) {
        
        imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
        
        [self presentViewController:imagePickerController animated:YES completion:^{}];
    }];

    //取消
    UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:(UIAlertActionStyleCancel) handler:^(UIAlertAction *action)
                                   {
                                       //這里可以不寫代碼
                                   }];
    [self presentViewController:alertController animated:YES completion:nil];
    
    //用來(lái)判斷來(lái)源 Xcode中的模擬器是沒(méi)有拍攝功能的,當(dāng)用模擬器的時(shí)候我們不需要把拍照功能加速
    if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
        
    {
        
        [alertController addAction:albumAction];
        [alertController addAction:cancelAction];
        [alertController addAction:photoAction];
        
    }
    
    else
    {
        [alertController addAction:albumAction];
        [alertController addAction:cancelAction];

        [alertController addAction:photoAction];
    }
    
}

選取完照片后要執(zhí)行的代理方法

  • (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info
    {
    [picker dismissViewControllerAnimated:YES completion:^{}];
    //選取裁剪后的圖片
    UIImage image = [info objectForKey:UIImagePickerControllerEditedImage];
    /
    此處info 有六個(gè)值
    • UIImagePickerControllerMediaType; // an NSString UTTypeImage)
    • UIImagePickerControllerOriginalImage; // a UIImage 原始圖片
    • UIImagePickerControllerEditedImage; // a UIImage 裁剪后圖片
    • UIImagePickerControllerCropRect; // an NSValue (CGRect)
    • UIImagePickerControllerMediaURL; // an NSURL
    • UIImagePickerControllerReferenceURL // an NSURL that references an asset in the AssetsLibrary framework
    • UIImagePickerControllerMediaMetadata // an NSDictionary containing metadata from a captured photo
      */
      _avatarImage.image = image;
      }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • UIImagePickerController拍照與攝像 該類繼承自UINavigationController類...
    小暖風(fēng)閱讀 1,175評(píng)論 3 3
  • { 11、核心動(dòng)畫 需要簽協(xié)議,但是系統(tǒng)幫簽好 一、CABasicAnimation 1、創(chuàng)建基礎(chǔ)動(dòng)畫對(duì)象 CAB...
    CYC666閱讀 1,701評(píng)論 2 4
  • 提到從攝像頭/相冊(cè)獲取圖片是面向終端用戶的,由用戶去瀏覽并選擇圖片為程序使用。在這里,我們需要過(guò)UIImagePi...
    Ashoka_APP閱讀 1,575評(píng)論 1 1
  • 在IOS開發(fā)中經(jīng)常會(huì)用到系統(tǒng)相冊(cè),相機(jī),音視頻等功能。每次都寫比較麻煩,自己封裝了一個(gè)工具類,實(shí)現(xiàn)一句話調(diào)用系統(tǒng)相...
    專注_刻意練習(xí)閱讀 1,304評(píng)論 0 0
  • 昨天坐了七八個(gè)小時(shí)的車,來(lái)到江布拉克草原,遠(yuǎn)遠(yuǎn)的看著大片的麥田,視野開闊。預(yù)訂的吉祥莊園就在景區(qū)游客服務(wù)中心對(duì)面,...
    春暖花開73801閱讀 437評(píng)論 0 0

友情鏈接更多精彩內(nèi)容