【发布时间】:2011-05-31 21:39:03
【问题描述】:
我希望能够通过按钮更改 UIImagePickerControllerCameraDevice。我想使用的 Button 放置在 ImagePicker 运行时显示在其顶部的叠加层中。
我知道这将需要我使用委托,但我对委托的了解非常少。有人能指出我正确的方向吗?
这是我用于 UIImagePickerController“GetPhoto”的代码,它检查设备是否有摄像头,并在启动时根据您可用的摄像头启用正确的摄像头,如果没有,它会为您提供相机胶卷。
-(IBAction) getPhoto:(id) sender {
UIImagePickerController * picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
if((UIButton *) sender == takePictureButton) {
overlayViewController *overlay = [[overlayViewController alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGTH)];
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerCameraDeviceFront]) {
picker.cameraDevice = UIImagePickerControllerCameraDeviceFront;
}
else {
picker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
}
picker.cameraOverlayView = overlay;
}
else {
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
picker.allowsEditing = YES;
}
}
[self presentModalViewController:picker animated:YES];
[picker release];
}
【问题讨论】:
标签: iphone objective-c ios delegates uiimagepickercontroller