2012-07-11 79 views
2

我在創建自己的自定義「拍照」按鈕時遇到了一些問題。基本上,當我刪除默認控件時,攝像機不再執行快門動畫或執行編輯過程,直接進入委託方法。UiImagePickerController takePicture問題

所以,這是一些代碼。起初,我用的是默認的佈局,像這樣:

(順便說一下,我已經打消了我,如果確定硬件可用性報表 - 他們無關。)

UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 

picker.delegate = self; 
picker.allowsEditing = YES; 


picker.sourceType = UIImagePickerControllerSourceTypeCamera; 
picker.showsCameraControls = YES; 
picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;  

[self presentModalViewController:picker animated:YES]; 

有了這個代碼,當我按下默認的「拍照」按鈕時,快門動畫將被觸發,並顯示「移動和縮放」視圖。按「選擇」後,代表被調用,我可以通過info訪問編輯結果。

所以這裏是我的新自定義「拍照」按鈕的初始化代碼,沒有別的;順便說一下,我這個初始化中的UIImagePickerController我的ViewController

UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 

picker.delegate = self; 
picker.allowsEditing = YES; 

UIButton *shoot = [[UIButton alloc] initWithFrame:CGRectMake(110, 420, 100, 40)]; 
[shoot setTitle:@"Shoot" forState:UIControlStateNormal]; 
[shoot.titleLabel setTextColor:[UIColor whiteColor]]; 
[shoot addTarget:picker action:@selector(takePicture) forControlEvents:UIControlEventTouchUpInside]; 

picker.sourceType = UIImagePickerControllerSourceTypeCamera; 
[picker.cameraOverlayView addSubview:shoot]; 
picker.showsCameraControls = NO; 

picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto; 

[self presentModalViewController:picker animated:YES]; 

在這個例子中的viewDidAppear方法,當我打我的自定義按鈕,沒有動畫被解僱,沒有編輯屏幕所示,委託調用立即。

有趣的是,如果我在上面的示例中將showsCameraControls屬性更改爲YES,我的自定義按鈕的行爲與第一個示例中默認按鈕的行爲方式完全相同。

漂亮的難倒在這一個,有什麼我需要在didFinishPickingMediaWithInfo做調用圖像編輯器,或者我只是在我的初始化缺少的東西嗎?

我使用的Xcode 4.3和iOS 5.1(應用程序是針對5.0)

任何幫助不勝感激;乾杯!

+0

在這裏有相同的問題。 – eugene 2012-08-11 13:01:53

回答

2

因此很明顯,「移動和剪裁」功能是默認的攝像頭的一部分。當您使用照片庫作爲源控制

,唯一的選擇是默認的,所以它總是工作。

最後,我用一個簡單的滾動視圖和一些疊加視圖來表示裁切框,寫了我自己的「移動和裁剪」視圖。

不太難,只需要根據UIScrollView的縮放因子和contentoffset做一些數學運算。

+2

您應該開放您的移動和裁剪解決方案來源=)+1,以便在一個月後再次回來發佈您的解決方案! – 2012-08-12 23:55:31

+0

當我在這個項目上完成了60-80小時/周的工作後,我將組織代碼併發布在github上,敬請關注... – Doug 2012-08-13 00:45:05

+0

大聲笑肯定!快樂的編碼! – 2012-08-13 00:48:23

相關問題