使用xib设置cameraOverlayView

时间:2015-05-28 20:11:18

标签: ios objective-c iphone ios7 uiimagepickercontroller

我创建了一个简单的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是(强大的,非原子的)

1 个答案:

答案 0 :(得分:1)

你是否在代码中加载了nib?

self.cameraOverlay = [[[NSBundle mainBundle] loadNibNamed:@"YourNibNameHere" owner:self options:nil] objectAtIndex:0];

将其放在viewDidLoad方法中。