簡體   English   中英

如何使用[camera takePhoto]和使用UIImagePicker編輯-UIImagePickerController.allowsEditing = YES

[英]How do I use [camera takePhoto] and edit using UIImagePicker - UIImagePickerController.allowsEditing = YES

我會覺得很愚蠢,但是我到處搜索並且沒有找到答案。 我已經能夠使用默認相機的控件拉出“編輯”視圖。 但是,我在上面放了一個覆蓋層,並且有一個UIButton連接到IBAction拍攝照片,看起來像[UIImagePickerController takePicture]。

但是,即使我將編輯設置為“是”,它也會完全跳過編輯部分。 還有其他命令可以調用嗎? 現在,它直接進入didFinishPickingMediaWithInfo。

    camera.sourceType = UIImagePickerControllerSourceTypeCamera;
    camera.cameraDevice = UIImagePickerControllerCameraDeviceRear;
    camera.showsCameraControls = NO;
    camera.navigationBarHidden = YES;
    camera.toolbarHidden = YES;
    camera.wantsFullScreenLayout = NO;
    camera.allowsEditing = YES;
    camera.cameraOverlayView = overlay;
    [self presentViewController:camera animated:YES completion:nil];

然后在IBAction中

    [camera takePicture];

可能重復: UIImagePickerController不顯示編輯屏幕

根據蘋果文檔中的takePicture:方法:

將此方法與自定義疊加視圖結合使用可啟動靜態圖像的程序化捕獲。 這支持在不離開界面的情況下拍攝多張圖片, 但是要求您隱藏默認的圖像選擇器控件。

捕獲圖像時調用此方法無效。 您必須等到關聯的委托對象收到imagePickerController:didFinishPickingMediaWithInfo:消息后,才能捕獲另一張圖片。

似乎配置了這種方法(自定義疊加層)以便由您自己管理。 即使“ allowsEditing = YES”,拍攝的照片也將直接發送到imagePickerController:didFinishPickingMediaWithInfo:。

基於此,如果我們要使用自定義用戶界面編輯拍攝的照片,則應為此目的創建相應的自定義編輯屏幕。

備查:

無法顯示“編輯”屏幕的問題與相機相關。showCameraControls = NO; 覆蓋的存在與否與覆蓋無關(因為當前接受的答案狀態)

可能的解決方法:在IBAction [camera takePicture]上將它們再次設置為YES。 它們將僅顯示一秒鍾,並且將允許顯示編輯屏幕。 然后,在單擊“ Retake”時會出現問題,在這種情況下,您必須通過委托捕獲該動作並將其再次隱藏在那里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM