iOS拍照之系統(tǒng)拍照

拍照在App中使用頻次高,入門級(jí)別直接調(diào)用系統(tǒng)拍照


  • 思路:

    系統(tǒng)拍照使用UIImagePickerController

    1.設(shè)置下plist裆装,否則沒權(quán)限踱承,報(bào)錯(cuò)

    2.判斷攝像頭,獲取權(quán)限哨免,否則彈出界面黑著

    3.設(shè)置代理茎活,實(shí)現(xiàn)代理

    4.代理方法中獲取拍照的圖片/視頻

  • 上菜

    • plist中添加Privacy - Camera Usage Description,文案根據(jù)App需要來

    • 權(quán)限

    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { 
    
    }
    
    • 設(shè)置UIImagePickerController
    UIImagePickerController *vc = [[UIImagePickerController alloc] init];
    // 設(shè)置該屬性的時(shí)候琢唾,出現(xiàn)拍照與拍視頻選項(xiàng)
    vc.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];
    vc.sourceType = UIImagePickerControllerSourceTypeCamera;
    vc.delegate = self;
    vc.allowsEditing = NO;
    // 設(shè)置攝像頭[后置攝像頭]
    vc.cameraDevice = UIImagePickerControllerCameraDeviceRear;
    // 設(shè)置閃光模式
    vc.cameraFlashMode = UIImagePickerControllerCameraFlashModeAuto;
    // 設(shè)置攝像頭模式
    vc.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo; // 當(dāng)該模式設(shè)置為video的時(shí)候载荔,meidaTypes設(shè)置出現(xiàn)拍照與拍視頻選項(xiàng)時(shí),先展示video視頻拍攝選項(xiàng)
    // 錄制的最大時(shí)間
    vc.videoMaximumDuration = 10;
    // 視頻質(zhì)量
    vc.videoQuality = UIImagePickerControllerQualityTypeHigh;
    vc.modalPresentationStyle = UIModalPresentationFullScreen;
    [[[[UIApplication sharedApplication] keyWindow] rootViewController] presentViewController:vc
                                                                                     animated:YES
                                                                                   completion:nil];
    
    • 代理實(shí)現(xiàn)
    #pragma mark - UINavigationControllerDelegate, UIImagePickerControllerDelegate
    - (void)imagePickerController:(UIImagePickerController *)picker
    didFinishPickingMediaWithInfo:(NSDictionary<UIImagePickerControllerInfoKey,id> *)info {
        // 獲取選中資源類型
        NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
        if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) { // 拍照結(jié)果
            UIImage *image = nil;
            if (picker.allowsEditing) {
                image = [info objectForKey:UIImagePickerControllerEditedImage];
            } else {
                image = [info objectForKey:UIImagePickerControllerOriginalImage];
            }
            [picker dismissViewControllerAnimated:YES completion:nil];
        } else if ([mediaType isEqualToString:(NSString *)kUTTypeMovie]) { // 視頻結(jié)果
            NSURL *url = [info objectForKey:UIImagePickerControllerMediaURL];
            // 視頻存放到系統(tǒng)相冊(cè)
            [PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) {
                if (status == PHAuthorizationStatusAuthorized) {
                    [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
                               [PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:url];
                           } completionHandler:^(BOOL success, NSError * error) {
                               if (success) {
                                   NSLog(@"保存視頻到相冊(cè)");
                               } else {
                                   NSLog(@"保存視頻到相冊(cè)失敳商摇:%@", error);
                               }
                           }];
                } else {
                    NSLog(@"無訪問相冊(cè)權(quán)限");
                }
                dispatch_async(dispatch_get_main_queue(), ^{
                    [picker dismissViewControllerAnimated:YES completion:nil];
                });
            }];
        }
    }
    
    - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
        [picker dismissViewControllerAnimated:YES completion:nil];
    }
    
  • 結(jié)語:

    UIImagePickerController使用方便懒熙,可拍照、視頻普办。適用于拍照界面無定制工扎、簡(jiǎn)單取圖這類需求

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市泌豆,隨后出現(xiàn)的幾起案子定庵,更是在濱河造成了極大的恐慌,老刑警劉巖踪危,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蔬浙,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡贞远,警方通過查閱死者的電腦和手機(jī)畴博,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蓝仲,“玉大人俱病,你說我怎么就攤上這事「そ幔” “怎么了亮隙?”我有些...
    開封第一講書人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)垢夹。 經(jīng)常有香客問我溢吻,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任促王,我火速辦了婚禮犀盟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蝇狼。我一直安慰自己阅畴,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開白布迅耘。 她就那樣靜靜地躺著贱枣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪颤专。 梳的紋絲不亂的頭發(fā)上冯事,一...
    開封第一講書人閱讀 51,708評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音血公,去河邊找鬼。 笑死缓熟,一個(gè)胖子當(dāng)著我的面吹牛累魔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播够滑,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼垦写,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了彰触?” 一聲冷哼從身側(cè)響起梯投,我...
    開封第一講書人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎况毅,沒想到半個(gè)月后分蓖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡尔许,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年么鹤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片味廊。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蒸甜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出余佛,到底是詐尸還是另有隱情柠新,我是刑警寧澤,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布辉巡,位于F島的核電站恨憎,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏红氯。R本人自食惡果不足惜框咙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一咕痛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧喇嘱,春花似錦茉贡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至作烟,卻和暖如春愉粤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背拿撩。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來泰國打工衣厘, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人压恒。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓影暴,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親探赫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子型宙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容