2013-06-05 76 views
3

我正在創建一個應用程序,爲相機定製了一個覆蓋層。我注意到,當我使用相機的正常默認設置時,會出現預覽,您可以選擇重新拍攝照片或使用它。使用自定義疊加層時,是否有一種簡單的方式來顯示該屏幕?謝謝!使用自定義相機創建預覽屏幕

回答

6

是.....爲此,您必須以編程方式創建一個攝像頭重疊視圖。

然後編寫代碼...

//set our custom overlay view 

    imagePickerController.cameraOverlayView = overlayView; 
    imagePickerController.showsCameraControls = NO; 

要顯示在相機屏幕上的疊加圖,使用上面的代碼。爲了添加疊加視圖,不需要使用addSubView方法。

當你使用正常的相機,然後默認取消按鈕,使用,Ratake和相機反轉按鈕出現在你的屏幕上。 並且如果您將製作showsCameraControls「否」。那麼這些按鈕不會來。然後以編程方式,您必須在相機覆蓋視圖中添加UIButton並設置其功能。

在這裏,我在相機覆蓋視圖中添加一個按鈕。

 //add Camera Reverse button to the overlay view. 

    UIButton *btnCamReverse = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    [btnCamReverse setBackgroundImage:[UIImage imageNamed:@"image.png"] 
               forState:UIControlStateNormal]; 

    //set the frame 
    CGRect btnCamReverseFrame = CGRectMake(400, 250, 50, 50); 
    btnCamReverse.frame = btnCamReverseFrame; 

    [btnCamReverse addTarget:self 
        action:@selector(onClickButtonCamReverse:) 
     forControlEvents:UIControlEventTouchUpInside]; 

    [overlayView addSubview:btnCamReverse]; 



    //IBAction (for switching between front and rear camera). 

    -(IBAction)onClickButtonCamReverse:(id)sender 
    { 
     if(imagePickerController.cameraDevice == UIImagePickerControllerCameraDeviceFront) 
     { 
      imagePickerController.cameraDevice = UIImagePickerControllerCameraDeviceRear; 
     } 
     else 
     { 
      imagePickerController.cameraDevice = UIImagePickerControllerCameraDeviceFront; 
     } 
    } 

對於攝像頭的覆蓋例如打開以下鏈接.....

https://github.com/anka/bw_examples

Camera with Custom View

它爲我...我希望它爲你工作爲好。

+0

@ AJ.SIf你有任何疑問有關的答案,然後問...? –

+0

謝謝!我現在才意識到我可以自己製作按鈕和屏幕,我很感謝幫助! –

+0

不客氣.... –