創(chuàng)新互聯(lián)公司專注于吉隆企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城開發(fā)。吉隆網(wǎng)站建設(shè)公司,為吉隆等地區(qū)提供建站服務(wù)。全流程按需制作,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)>
1 1.+(BOOL)isSourceTypeAvailable:(UIImagePickerControllerSourceType)sourceType; 檢查指定源是否在設(shè)備上可用。 2 //檢查照片源是否可用 3 [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]2.allowsEditing 默認(rèn)NO 4 是否允許編輯 5 允許編輯. 6 [imagePicker setAllowsEditing:YES]; 7 3. videoMaximumDuration 8 ?設(shè)置UIImagePicker的大視頻持續(xù)時間.默認(rèn)10分鐘 9 4. + availableMediaTypesForSourceType: // 指定源可用的媒體種類 10 //獲得相機模式下支持的媒體類型 11 NSArray* availableMediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera]; 12 5. sourceType 13 設(shè)置UIImagePicker照片源類型,默認(rèn)有3種。 14 照片源類型 15 16 UIImagePickerControllerSourceTypeCamera 照相機 17 UIImagePickerControllerSourceTypePhotoLibrary 照片庫(通過同步存放的,用戶不能刪除) 18 UIImagePickerControllerSourceTypeSavedPhotosAlbum 保存的照片(通過拍照或者截屏保存的,用戶可以刪除) 19 20 6.UIImagePicker使用步驟: 21 ? 檢查指定源是否可用. 22 isSourceTypeAvailable:方法.? 23 檢查可用媒體(視頻還是只能是圖片) availableMediaTypesForSourceType:方法.? 24 設(shè)置界面媒體屬性 25 mediaTypes property.? 26 顯示界面使用 27 presentViewController:animated:completion:方法. 28 iPad中是popover形式.需要確保sourceType有效. ? 29 相關(guān)操作,移除視圖. ???如果想創(chuàng)建一個完全自定義界面的image picker來瀏覽圖片,使用 30 Assets Library Framework Reference中的類. (AV Foundation Programming Guide 中的 “Media Capture and Access to Camera” )?? ?? 31 7.設(shè)置源? 32 ? + availableMediaTypesForSourceType: // 指定源可用的媒體種類? + isSourceTypeAvailable: // 指定源是否在設(shè)備上可用? sourceType ??// 運行相關(guān)接口前需要指明源類型.必須有效,否則拋出異常. picker已經(jīng)顯示的時候改變這個值,picker會相應(yīng)改變來適應(yīng).默認(rèn) UIImagePickerControllerSourceTypePhotoLibrary.?? 33 8.設(shè)置picker屬性? 34 ? allowsEditing //是否可編輯? 35 delegate ? mediaTypes ??// 指示picker中顯示的媒體類型.設(shè)置每種類型之前應(yīng)用availableMediaTypesForSourceType:檢查一下.如果為空或者array中類型都不可用,會發(fā)生異常.默認(rèn) kUTTypeImage, 只能顯示圖片.?? ? 36 9.video選取參數(shù) 37 ?? videoQuality //視頻拍攝選取時的編碼質(zhì)量.只有mediaTypes包含kUTTypeMovie時有效.? 38 videoMaximumDuration //秒,video大記錄時間,默認(rèn)10分鐘.只用當(dāng)mediaTypes包含kUTTypeMovie時有效.?? 39 10.自定義界面 40 ?? showsCameraControls ??// 指示 picker 是否顯示默認(rèn)的camera controls.默認(rèn)是YES,設(shè)置成NO隱藏默認(rèn)的controls來使用自定義的overlay view.(從而可以實現(xiàn)多選而不是選一張picker就dismiss了).只有 UIImagePickerControllerSourceTypeCamera源有效,否則NSInvalidArgumentException異常.?? 41 cameraOverlayView ??//自定義的用于顯示在picker之上的view.只有當(dāng)源是UIImagePickerControllerSourceTypeCamera時有效.其他時候使用拋出NSInvalidArgumentException異常.?? 42 cameraViewTransform ??//預(yù)先動畫.只影響預(yù)先圖像,對自定義的overlay view和默認(rèn)的picker無效.只用當(dāng)picker的源是UIImagePickerControllerSourceTypeCamera時有效,否則NSInvalidArgumentException異常.?? 43 11.選取媒體 44 ?? – takePicture ??//使用攝像頭選取一個圖片。自定義overlay可以多選。已經(jīng)有圖片正在選取是調(diào)用無效,必須要等delegate收到 imagePickerController:didFinishPickingMediaWithInfo:消息后才能再次選取。非UIImagePickerControllerSourceTypeCamera源會導(dǎo)致異常。?? 45 – startVideoCapture ?? 46 – stopVideoCapture ??//結(jié)束視頻選取,之后系統(tǒng)調(diào)用delegate的 imagePickerController:didFinishPickingMediaWithInfo:方法。?? 47 12.設(shè)置攝像頭 48 ? cameraDevice //使用的鏡頭(默認(rèn)后置的)? 49 + isCameraDeviceAvailable: // 攝像設(shè)備是否可用.? 50 + availableCaptureModesForCameraDevice: // 設(shè)備可用的選取模式? cameraCaptureMode //相機捕獲模式? 51 cameraFlashMode //閃光燈模式(默認(rèn)自動)? 52 + isFlashAvailableForCameraDevice: // 是否有閃光能力?? 53 13.UIImagePickerControllerDelegate 54 使用UIImageWriteToSavedPhotosAlbum保存圖像, UISaveVideoAtPathToSavedPhotosAlbum保存視頻. 4.0后使用writeImageToSavedPhotosAlbum:metadata:completionBlock:保存元數(shù)據(jù).?? 55 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info?? 56 //包含選擇的圖片或者一個視頻的URL,詳見“Editing Information Keys.”?? 57 //如果是設(shè)置可編輯屬性,那么picker會預(yù)顯示選中的媒體,編輯后的與初始的都會保存在info中.?? 58 – imagePickerControllerDidCancel:? 59 -imagePickerController:didFinishPickingImage:editingInfo://Deprecated in iOS 3.0??NSString *const UIImagePickerControllerMediaType;// 媒體類型?NSString *const UIImagePickerControllerOriginalImage;// 原始未編輯的圖像?NSString *const UIImagePickerControllerEditedImage;// 編輯后的圖像?NSString *const UIImagePickerControllerCropRect;// 源圖像可編輯(有效?)區(qū)域?NSString *const UIImagePickerControllerMediaURL;// 視頻的路徑?NSString *const UIImagePickerControllerReferenceURL;// 原始選擇項的URL?NSString *const UIImagePickerControllerMediaMetadata;// 只有在使用攝像頭并且是圖像類型的時候有效.包含選擇圖像信息的字典類型? 60 14. UIImagePickerController小例子 61 UIImagePickerController的代理需要遵守這兩個協(xié)議.<UIImagePickerControllerDelegate, UINavigationControllerDelegate> 62 63 #pragma mark 選擇照片 64 - (void)selectPhoto 65 { 66 // 1. 首先判斷照片源是否可用 67 if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) { 68 69 // 0)實例化控制器 70 UIImagePickerController *picker = [[UIImagePickerController alloc]init]; 71 // 1)設(shè)置照片源 72 [picker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary]; 73 74 // 2) 設(shè)置允許修改 75 [picker setAllowsEditing:YES]; 76 // 3) 設(shè)置代理 77 [picker setDelegate:self]; 78 // 4) 顯示控制器 79 [self presentViewController:picker animated:YES completion:nil]; 80 81 } else { 82 NSLog(@"照片源不可用"); 83 } 84 85 } 86 87 #pragma mark - imagePicker代理方法 88 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 89 { 90 UIImage *image = info[@"UIImagePickerControllerEditedImage"]; 91 [_imageButton setImage:image forState:UIControlStateNormal]; 92 93 // 關(guān)閉照片選擇器 94 [self dismissViewControllerAnimated:YES completion:nil]; 95 96 // 需要將照片保存至應(yīng)用程序沙箱,由于涉及到數(shù)據(jù)存儲,同時與界面無關(guān) 97 // 可以使用多線程來保存圖像 98 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 99 100 // 保存圖像 101 // 1. 取圖像路徑102 NSArray *docs = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 103 NSString *imagePath = [docs[0]stringByAppendingPathComponent:@"abc.png"]; 104 105 // 2. 轉(zhuǎn)換成NSData保存106 NSData *imageData = UIImagePNGRepresentation(image); 107 [imageData writeToFile:imagePath atomically:YES]; 108 }); 109 }
網(wǎng)頁名稱:UIImagePickerController-創(chuàng)新互聯(lián)
當(dāng)前地址:http://aaarwkj.com/article14/jchge.html成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、企業(yè)建站、微信公眾號、服務(wù)器托管、App設(shè)計、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容