0
我具有應在設備上只使用前攝像機iPad程序,ipad公司的UIImagePickerController僅前攝像機
的問題是,我走之後與前置攝像頭的第一圖片,如果用戶選擇重新拍攝一照片,然後使用後置攝像頭,如果重新拍攝,則使用正確的前置攝像頭,
我釋放imagePicker和彈出窗口,顯示我的相機預覽和圖像,每次拍攝圖片時都會點擊。
- (void)setUpImagePicker
{
//poner photo picker en pop up!
BOOL hasCamera = [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera];
picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = hasCamera ? UIImagePickerControllerSourceTypeCamera : UIImagePickerControllerSourceTypePhotoLibrary;
picker.cameraDevice = UIImagePickerControllerCameraDeviceFront;
[picker setShowsCameraControls:FALSE];
CGAffineTransform translate = CGAffineTransformMakeTranslation(0.0, 0.0);
picker.cameraViewTransform = translate;
CGAffineTransform scale = CGAffineTransformScale(translate, 1, 1);
picker.cameraViewTransform = scale;
self.companyPopOverController = [[[UIPopoverController alloc] initWithContentViewController:picker] autorelease];
self.companyPopOverController.passthroughViews=[NSArray arrayWithObject:self.view];
[self createTimer];
}
- (NSTimer*)createTimer {
// create timer on run loop
return [NSTimer scheduledTimerWithTimeInterval:0.3 target:self selector:@selector(timerTicked:) userInfo:nil repeats:NO];
}
- (void)timerTicked:(NSTimer*)timer {
[self.companyPopOverController presentPopoverFromRect:CGRectMake(622, 534, 10, 10) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
}
- (void)takePicButtonPressed:(id)sender
{
NSLog(@"takePicButtonPressed");
if (!self.retakePic) {
NSLog(@"retake no");
self.retakePic = YES;
self.imageTaken = YES;
[self.takePicButton setImage:[UIImage imageNamed:@"takePicButton_Re"] forState:UIControlStateNormal];
[picker takePicture];
return;
}else {
NSLog(@"retake is yes");
self.retakePic = NO;
self.imageTaken = NO;
picker = nil;
[picker release];
self.companyPopOverController = nil;
[self.companyPopOverController release];
[self setUpImagePicker];
//button image, take
[self.takePicButton setImage:[UIImage imageNamed:@"takePicButton"] forState:UIControlStateNormal];
return;
}
}
那麼我怎樣才能確保我的應用程序只使用前置攝像頭?
謝謝!