我几乎已经完成了将大型通用应用程序转换为使用 Storyboards 的工作,但有一个问题困扰着我。我为自定义 UIImagePickerController 创建了一个场景,但我不知道如何从中放松。我知道我可以关闭控制器,但我想使用展开过程将图像传递回原始源视图控制器。当我尝试手动展开时,出现以下异常:
'NSInvalidArgumentException', reason: 'Receiver (<MyImagePickerController: 0x7facdb838000>) has no segue with identifier 'unwindPickImage''
我认为崩溃日志显示调用
[UIViewController shouldPerformSegueWithIdentifier:sender:]
但是如果我在 MyImagePickerController 类中实现该方法,它就不会被调用。此外,有趣的是,在崩溃时,视图控制器的_storyboardSequeTemplates
私有属性为 nil,但它们在 IB 中直观地存在。
我已经将一个演示项目上传到 Github,它演示了这个错误以及我在项目其他地方成功使用的几个展开 segue 模式,以在视图控制器之间进行通信。是否可以使用 UIImagePickerController 中的手动展开 segue 而不是使用旧的委托模式来返回图像?如果是这样,怎么做?谢谢。