UIImagePickerController与UIPopOverController,iPad ios 6

hiure 发布于 2019-03-09 ios 最后更新 2019-03-09 14:41 3 浏览

我正在尝试从iPad应用程序访问照片库。据说“在iPad上,UIImagePickerController必须通过UIPopoverController呈现”。这正是我得到的日志消息。 以下是我的应用程序的快照:

https://www.evernote.com/shard/s241/sh/b0283978-b50b-425f-8e8f-b9a5a171c463/de48b8b2dfe7716fe304e85a18ecacfc 由于我已经通过弹出窗口列出了选项,因此从内部开始另一个弹出窗口是没有意义的。当用户点击“照片库”单元时,accessPhotoLibrary方法被调用。
-(void)accessPhotoLibrary{
    NSLog(@"Photo library access requested!");
    if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]){
        NSLog(@"Photo Library");
        [imagePickerController setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
        [imagePickerController setDelegate:self];
        [imagePickerController setModalPresentationStyle:UIModalPresentationFullScreen];
        [self presentViewController:imagePickerController animated:YES completion:nil];
    }
    else{
        UIAlertView *alert = [[UIAlertView alloc]
                              initWithTitle: @"Photo Library"
                              message: @"Sorry, couldn't open your photos library"
                              delegate: nil
                              cancelButtonTitle:@"OK"
                              otherButtonTitles:nil];
        [alert show];
    }
}
但是,我如何解决这个问题:当我使用一个popover时,必须访问照片库? 任何帮助深表感谢。
已邀请:

tut

赞同来自:

您可以在同一个弹出窗口中显示图像选择器。保持对popover的引用(呈现popover的父视图控制器可以传递引用)然后您可以执行以下操作:

[_parentPopover setContentViewController:imagePickerController animated:YES];
如果需要,您可以使用图像选择器视图控制器中的属性“contentSizeForViewInPopover”更改弹出窗口中显示的内容的大小。