2012-09-07 51 views
0

我对UIImagePickerController有疑问。我可以使用UIImagePickerController作为预览吗?如果我这样做,我必须隐藏记录按钮,有没有办法做到这一点?或任何其他方法来显示除UIImagePickerController以外的预览。隐藏UIImagePickerController中的记录按钮

感谢您的帮助...

回答

2

您可以通过使用隐藏UIImagePickerController的控制:在图像内看看这个代码,它会隐藏所有的控件:

[myImagePickerController setShowsCameraControls:NO]; 

编辑选择器允许您创建和添加自己的自定义控件。不幸的是,你不能有选择地隐藏选择器内的控件,所以这是另一种选择。

- (void)showCamera 
{ 
    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) 
    { 

     myImagePicker = [[UIImagePickerController alloc] init]; 

     [myImagePicker setSourceType:UIImagePickerControllerSourceTypeCamera]; 
     [myImagePicker setDelegate:self]; 
     [myImagePicker setShowsCameraControls:NO]; 
     UIView *overlayView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; 
     UIButton *switchCameraButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
     [switchCameraButton setFrame:CGRectMake(10, 430, 72, 40)]; 
     [switchCameraButton addTarget:self action:@selector(changeCamera:) forControlEvents:UIControlEventTouchUpInside]; 
     [overlayView addSubview:switchCameraButton]; 
     [myImagePicker setCameraOverlayView:overlayView]; 
     [self presentViewController:myImagePicker animated:YES completion:nil]; 

    } 
} 
- (IBAction)changeCamera:(id)sender 
{ 
    if (myImagePicker.cameraDevice == UIImagePickerControllerCameraDeviceFront) { 
     [myImagePicker setCameraDevice:UIImagePickerControllerCameraDeviceRear]; 
    }else{ 
     [myImagePicker setCameraDevice:UIImagePickerControllerCameraDeviceFront]; 
    } 
} 
+0

它会隐藏所有控件,我想允许用户翻转也.. – Newbee

+1

@ user1587011请参阅我的编辑。您不能只隐藏其中一个控件,但可以隐藏它们并添加自己的自定义控件。 –