早上好。
我在UIImagePickerController不显示白色以外的任何内容时遇到问题。 我的主头文件中有一个 320x320 UIImageView:
IBOutlet UIImageView *_cameraView;
以及:
@property (nonatomic, retain) UIImagePickerController *_cameraPicker;
@property (nonatomic, retain) UIImage *_noCam;
_noCam是用户没有相机时放置在视图中的图像。 这工作正常。
我正在尝试显示(没有标准相机 GUI,但现在可以等待)这个方形视图顶部的相机。 在我的主课上,我有:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSLog(@"viewDidAppear did appear too");
//camera view etc
if (![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
//code here to not allow picture taking, probably put up something saying you don'thave a camera on your device
NSLog(@"no cam available");
_noCam = [UIImage imageNamed:@"noCam.png"];
[_cameraView setImage:_noCam];
} else {
//take the shot
_cameraPicker = [[UIImagePickerController alloc] init];
_cameraPicker.delegate = _cameraView;
_cameraPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
NSLog(@"cam is available");
}
}
我猜我在设置委托时有问题。 _self给了我一个类型的错误:
'来自不兼容的类型'视图控制器*常量_strong'
我正在使用 NSLogs 来检查方法是否正常工作,它告诉我调用了 viewDidLoad 和 viewDidAppear 方法,并且检测到摄像头,但随后我只得到白色视图。
任何帮助将不胜感激。
谢谢。
您需要以某种方式显示选取器,您可以使用默认 GUI:
[self presentModalViewController:_cameraPicker animated:YES];
或者查看UIImagePickerController的cameraOverlayView
。