Ios 故事板中的UIImagePickerController:UIImagePickerController资源类型照片库显示黑屏
我有一个故事板,我在其中创建了一个Ios 故事板中的UIImagePickerController:UIImagePickerController资源类型照片库显示黑屏,ios,objective-c,ios7,uiimagepickercontroller,photolibrary,Ios,Objective C,Ios7,Uiimagepickercontroller,Photolibrary,我有一个故事板,我在其中创建了一个UINavigationController实例,并将其自定义类设置为UIImagePickerController 如果我在prepareforsgue中设置imagePicker.sourceType=UIImagePickerControllerSourceTypeCamera,一切正常 如果我在prepareForSegue中设置imagePicker.sourceType=UIImagePickerControllerSourceTypePhotoLi
UINavigationController
实例,并将其自定义类设置为UIImagePickerController
如果我在prepareforsgue
中设置imagePicker.sourceType=UIImagePickerControllerSourceTypeCamera
,一切正常
如果我在prepareForSegue
中设置imagePicker.sourceType=UIImagePickerControllerSourceTypePhotoLibrary
,我会看到一个大部分为黑色的屏幕,上面有一个空灰色条,我无法忽略:
[截图的未来位置-我无法发布图像]
我可以通过不使用故事板来解决这个问题。我的问题是,这能和故事板一起工作吗?若否,原因为何?为什么它只适用于展示相机
编辑:一位同事评论说这可能是ios7的新问题
如果序列图像由情节提要触发,则下面的代码不起作用
- (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;
}
真奇怪。到目前为止,我找到的唯一解决方案是: 出于同样的原因,您必须手动初始化UIImagePickerController。 我猜UIImagePicker的“initWithCodec”方法有些古怪,但是如果没有源代码的访问,很难说(哎呀,谢谢苹果…)
另外,请确保您也使用了正确类型的segue。UIImagePickerController对每种模式的显示方式都很挑剔“摄像头”可以是modal或popover(建议使用modal)。PhotoLibrary必须使用popover显示。此问题与 答案是: 初始化控制器
UIImagePickerController*控制器=[[segue destinationViewController]init]代码>
…似乎对大多数人都有效,因此我建议将此问题作为已回答了一段时间的问题的副本关闭。我使用iOS进行了相同的观察8@Jakob--如果对你有用的话,我可以把它作为复制件关上。在此期间,我还没有抽出时间来亲自尝试/解决这个问题。@Jakob--我看到根据那里的一条评论,它对你有用。请投票将其作为副本关闭。谢谢