2011-08-11 32 views
0
picker.showsCameraControls = NO; 
picker.cameraOverlayView = someView; 

因爲我會爲showCameraControls添加一些自定義視圖,那麼如何切換模式之間的相機和錄製之間的iphone開關本機應用程序,我想要在相機和另一個相機之間切換它,我該怎麼做? 幫助!如何在UIImagePickerController的自定義控件的不同模式之間切換?

+0

所以只是爲了得到明確在這裏,你想爲你的相機創建一個自定義模式?你想要這個自定義模式做什麼? –

+0

我想要兩種模式,一種用於拍攝圖像並保存到相冊中,秒拍一些快照並在點擊保存按鈕上製作一系列圖像, –

+0

這款應用程序的唯一區別在於,它沒有滑動開關,可以讓您返回在視頻和照片模式之間,您可以在照片和爆炸之間切換。沒有視頻。當選擇爆炸模式時,應用程序將在按下按鈕時拍攝多張照片,例如,每秒3-4次。應用程序不應該放慢速度,因此應該分配額外的資源來處理突發模式的負載。 –

回答

0

This示例項目向您展示瞭如何爲UIImagePickerController製作自定義覆蓋圖以及如何使用它。有關每種屬性和方法爲UIImagePickerController所做的更多信息,請參閱here。希望有所幫助!

+0

讓我看看它,你能指導我一些代碼或結構,我應該繼承UIImagePickerController,還是隻使用它? –

+0

我會下載示例項目並使用它。它基本上包含了使用UIImagePickerController所需的所有代碼。通過查看AVCaptureSessions,你可以更深入地瞭解相機,但這要做得更多,而且很有可能更多地控制它們。 – msgambel

1

在您的自定義視圖中,您將有一個選擇器作爲目標的按鈕設置,它是takePicture方法。然後你會有另一個按鈕或開關,或者你想要進入你的自定義模式,那裏你將有一個按鈕來啓動/停止捕捉。這個按鈕應該有自己的目標(自己作爲你提交選擇器的視圖控制器)和一個自定義的toggleSnapping方法。您還需要將自己設置爲圖像選取器的代表,以便在拍攝每張照片時得到通知。哦,還有一個BOOL實例變量,用於跟蹤捕捉當前是否處於活動狀態。然後你toggleSnapping方法可能是這個樣子:

- (void)toggleSnapping 
{ 
    isSnapping = !isSnapping; // (this will reverse NO to YES and vice-versa) 
    [picker takePicture]; // starts taking 1st picture, delegate will take care of rest 
    if (isSnapping) { 
     // configure your button to show stop icon 
    } else { 
     // configure your button to show start snapping icon 
    } 
} 

而且你需要實現選擇器的委託方式時,您只需啓動另一張照片,如果isSnapping目前YES:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    // save the snapped picture to the camera roll 

    if (isSnapping) { // if burst mode is on, take another picture 
     [picker takePicture]; 
    } 
} 
相關問題