我正在尝试从UIImagePickerController到另一个视图控制器创建一个segue。
我尝试过push segue,因为我知道UIImagePickerController是UINavigationController的子类,但它没有用。错误是“Push segues只能在源控制器由UINavigationController实例管理时使用。”
现在我尝试模态segue,但当它出现时,屏幕会变黑。
这两个问题之间是否有联系,我该怎么办?
答案 0 :(得分:2)
您无法直接从UIImagePickerController
执行segue。
尝试从视图控制器添加推送segue,将实例化UIImagePickerController
到目标VC。
现在在您的源VC中实现UIImagePickerControllerDelegate
方法didFinishPickingMediaWithInfo:
,并在该方法中使用您最近创建的segue的segue标识符调用self performSegueWithIdentifier: sender:
。
当然,您需要为segue设置标识符,并在源VC头接口中添加UINavigationControllerDelegate, UIImagePickerControllerDelegate
协议引用。
如果您需要将一些数据(例如图像信息)传递给目标VC,您可能还需要在源VC中实现prepareForSegue:
方法。