早上好。
我有一个问题的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给出了一个类型错误:
‘来自不兼容的类型'ViewController *const _strong’
我正在使用NSLogs检查方法是否正常工作,它告诉我调用了viewDidLoad和viewDidAppear方法,并且检测到了摄像头,但随后我只得到了白色视图。
任何帮助都将不胜感激。
谢谢。
发布于 2012-05-03 16:20:16
您需要以某种方式显示选取器,您可以使用默认GUI:
[self presentModalViewController:_cameraPicker animated:YES];或者查看UIImagePickerController的cameraOverlayView。
https://stackoverflow.com/questions/10427582
复制相似问题