我正在构建一个使用故事板的通用应用程序.我有一个视图控制器,在导航栏中有一个按钮.当点击按钮时,我使用segue将另一个视图控制器呈现为模态.模态视图控制器的导航栏中有“取消”和“保存”按钮.在故事板中,模态按钮项链接到新的Exit操作上的操作,该操作应该展开到父视图控制器,关闭模态,并调用操作处理程序.
这在iPhone上工作正常,但我在iPad上看到了问题.在iPad上,当模式以全屏显示时,一切正常.当我将模式更改为Page Sheet或Form Sheet(在我的情况下是所需的行为)时,将调用操作处理程序,但不会自动解除模态视图控制器.
有没有人见过这种行为?你有什么办法来解决它吗?
谢谢.
解决方法
我唯一担心的是这个解决方案是,如果这是一个错误并且Apple最终修复它,他们的修复程序是否会破坏使用此解决方法的任何代码?只有时间会给出答案…
后来编辑:我发现了一个更好的解决方法.将要展开的类的父(容器)类子类化,然后在那里实现展开.例如,在我的应用程序中,情况如下所示:
UISplitViewController UINavigationController MasterViewController UINavigationController DetailViewController ----> modal segue ----> ThirdViewController
从ThirdViewController返回到DetailViewController的退出/展开将演示错误 – 调用unwind:实现,但表单视图不会被解除.但是,如果我继承UISplitViewController并实现展开:那里,它工作正常. (unwind:实现可以是空的;重点是表单视图自动被解除.)显然这是一个与容器视图控制器有关的问题,你可以通过让容器处理它来解决它.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。