我创建了一个简单的xib文件,在视图中间有一个UIView和一个UILabel。然后我将xib的所有者设置为将使用它的ViewController。我创建了一个从UIView到我的ViewController的插座并执行了以下操作:
imagePicker.cameraOverlayView = self.cameraOverlay;
我遇到的问题是打开相机时没有出现。如果我以编程方式创建UIView它可以工作,但是如果我使用xib文件它似乎不起作用。
以下是我设置叠加层的代码和相机:
- (IBAction)takeVideo:(id)sender {
UIImagePickerController *imagePicker =
[[UIImagePickerController alloc] init];
NSArray *availableTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];
if ([availableTypes containsObject:(__bridge NSString *)kUTTypeMovie]) {
[imagePicker setMediaTypes:@[(__bridge NSString *)kUTTypeMovie]];
}
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.delegate = self;
imagePicker.cameraOverlayView = self.cameraOverlay;
[self presentViewController:imagePicker animated:YES completion:nil];
}
camerOverlay是(强大的,非原子的)
答案 0 :(得分:1)
你是否在代码中加载了nib?
self.cameraOverlay = [[[NSBundle mainBundle] loadNibNamed:@"YourNibNameHere" owner:self options:nil] objectAtIndex:0];
将其放在viewDidLoad
方法中。