故事板中的UIImagePickerController:UIImagePickerControllerSourceTypePhotoLibrary显示黑屏

ste*_*iva 5 objective-c photolibrary uiimagepickercontroller ios ios7

我有一个故事板,我在其中创建了一个UINavigationController实例并将其自定义类设置为UIImagePickerController.

如果我设置imagePicker.sourceType = UIImagePickerControllerSourceTypeCameraprepareForSegue,一切工作正常.

如果我imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary进入prepareForSegue,我会得到一个大多数黑色屏幕,顶部有一个空的灰色条,我无法解雇:

[截图的未来位置 - 我无法发布图片]

我可以通过不使用故事板来解决这个问题.我的问题 - 这可以与故事板一起工作吗?如果没有,为什么不呢?为什么它只适用于呈现相机?

编辑:一位同事评论说这可能是ios7的一个新问题

如果segue由故事板触发,则下面的代码不起作用

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    NSAssert([segue.destinationViewController isKindOfClass:[UIImagePickerController class]], @"Destination VC should be UIImagePickerController");

    UIImagePickerController *imagePicker = (UIImagePickerController*) segue.destinationViewController;

    imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    imagePicker.allowsEditing = YES;
    imagePicker.delegate = self;

}
Run Code Online (Sandbox Code Playgroud)

ste*_*iva 2

这个问题是iOS7 Storyboard image picker not working的重复:(

那里的答案是:

初始化控制器UIImagePickerController *controller = [[segue destinationViewController] init];

...似乎对大多数人都有效,所以我建议将其作为已经回答了一段时间的问题的重复项来关闭。