我在創建自己的自定義「拍照」按鈕時遇到了一些問題。基本上,當我刪除默認控件時,攝像機不再執行快門動畫或執行編輯過程,直接進入委託方法。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)
任何幫助不勝感激;乾杯!
在這裏有相同的問題。 – eugene 2012-08-11 13:01:53