【问题标题】:UIImagePicker Camera view not fullscreen Ipad2ImagePicker 相机视图不是全屏 Ipad
【发布时间】:2012-02-29 17:01:22
【问题描述】:

这个问题看起来像是围绕 popover 事件发生的。前任。我点击相机..它以模态方式启动相机到屏幕的绝对顶部..如果我点击取消并重复..一切看起来都很完美。现在,如果我选择查看弹出式相机 Roll.. 下次启动相机时,它也距离屏幕顶部约 20 像素,并且按钮导航栏只有一半可见。 (请记住,标准屏幕具有来自标准顶栏,但模态相机占据了全屏 1024x768)。

我的代码:

- (IBAction) getPhoto: (id)sender
{
    if ([self.popoverController isPopoverVisible]) {
        [self.popoverController dismissPopoverAnimated:YES];
    }

    else if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
    {

        imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; 
        imagePicker.allowsEditing = YES;
        [self presentModalViewController:imagePicker animated:YES];    
    }
}

- (IBAction) useCameraRoll: (id)sender
{
    if ([self.popoverController isPopoverVisible]) {
        [self.popoverController dismissPopoverAnimated:YES];

    } 
    else if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum])
    {
        imagePicker.sourceType =UIImagePickerControllerSourceTypePhotoLibrary;
        self.popoverController = [[UIPopoverController alloc] initWithContentViewController:imagePicker];
        popoverController.delegate = self;
        [self.popoverController presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
    }

}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
    [picker dismissModalViewControllerAnimated:YES];
}

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
    [self.popoverController dismissPopoverAnimated:true];
    UIImage *savedimage = [editingInfo objectForKey:UIImagePickerControllerOriginalImage];
    imageView.image = savedimage;
    UIImageWriteToSavedPhotosAlbum (savedimage, self, nil, nil);
}

【问题讨论】:

    标签: ios ios5 uiimagepickercontroller


    【解决方案1】:

    我相信当您在弹出窗口中显示 UIImagePickerController 时,弹出窗口会保留视图并给您带来一些问题。尝试通过销毁弹出框(及其子视图)或将弹出框内容设置为零来从弹出框释放视图。 前任。

    -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage (UIImage *)image editingInfo:(NSDictionary *)editingInfo
    {
        [self.popoverController setContentViewController:nil]; 
        [self.popoverController dismissPopoverAnimated:true];
        UIImage *savedimage = [editingInfo objectForKey:UIImagePickerControllerOriginalImage];
        imageView.image = savedimage;
        UIImageWriteToSavedPhotosAlbum (savedimage, self, nil, nil);
    }
    

    【讨论】:

    • nope.. 我假设它应该是 useCameraRoll 弹出窗口中的内容。如果我避免那个弹出框,一切都很好。但是,如果使用该弹出框..它会导致相机永远不会模态地转到屏幕的绝对顶部。
    • 我认为当创建图像选择器的视图时,它会偏移它以适应具有适当边框的弹出框。也许尝试重新创建图像选择器或重置其框架
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多