[英]UIImagePickerController in Storyboard: UIImagePickerControllerSourceTypePhotoLibrary displays black screen
我有一个故事板,我创建了一个UINavigationController
实例并将其自定义类设置为UIImagePickerController
。
如果我在prepareForSegue
设置imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera
,一切正常。
如果我在prepareForSegue
设置imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary
,我会得到一个大部分黑屏,顶部有一个空的灰色条,我无法解雇:
[截图的未来位置 - 我无法发布图片]
我可以通过不使用故事板来解决这个问题。 我的问题 - 这可以与故事板一起工作吗? 如果没有,为什么不呢? 为什么它只适用于呈现相机?
编辑:一位同事评论说这可能是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;
}
这个问题是iOS7 Storyboard图像选择器不能正常工作的重复:(
那里的答案是:
初始化控制器
UIImagePickerController *controller = [[segue destinationViewController] init];
...似乎适用于大多数人,所以我建议将其作为该问题的副本关闭,该问题已经回答了一段时间。
绝对奇怪。 到目前为止我找到的唯一解决方案是: ios7-storyboard-image-picker-not-working
您必须出于同样的原因手动初始化UIImagePickerControllerInstance。 我猜测UIImagePicker的'initWithCodec'方法有一些时髦,但很难说没有访问源代码(gee感谢Apple ......)。
PS确保您也使用正确类型的segue。 UIImagePickerController对于每种模式的显示方式都很挑剔。 '相机'可以是模态或弹出(模态被推荐)。 必须使用弹出窗口显示PhotoLibrary。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.