ios6 – iOS 6故事板:模态视图不会消失

ios6 – iOS 6故事板:模态视图不会消失,第1张

概述我正在使用 Xcode 4.5和iOS 6. 我正在构建一个使用故事板的通用应用程序.我有一个视图控制器,在导航栏中有一个按钮.当点击按钮时,我使用segue将另一个视图控制器呈现为模态.模态视图控制器的导航栏中有“取消”和“保存”按钮.在故事板中,模态按钮项链接到新的Exit *** 作上的 *** 作,该 *** 作应该展开到父视图控制器,关闭模态,并调用 *** 作处理程序. 这在iPhone上工作正常,但我在iPad上看 我正在使用 Xcode 4.5和iOS 6.

我正在构建一个使用故事板的通用应用程序.我有一个视图控制器,在导航栏中有一个按钮.当点击按钮时,我使用segue将另一个视图控制器呈现为模态.模态视图控制器的导航栏中有“取消”和“保存”按钮.在故事板中,模态按钮项链接到新的Exit *** 作上的 *** 作,该 *** 作应该展开到父视图控制器,关闭模态,并调用 *** 作处理程序.

这在iPhone上工作正常,但我在iPad上看到了问题.在iPad上,当模式以全屏显示时,一切正常.当我将模式更改为Page Sheet或Form Sheet(在我的情况下是所需的行为)时,将调用 *** 作处理程序,但不会自动解除模态视图控制器.

有没有人见过这种行为?你有什么办法来解决它吗?

谢谢.

解决方法 感谢您提出这个问题,因为我刚遇到同样的问题.我认为这是一个错误,但我尚未向Apple提交.与此同时,简单的解决方法是调用dismissVIEwController:animated:在你的unwind:实现中(也就是说,在通过Exit图标连接到unwind segue的action方法中),从而自己消除模态视图.

我唯一担心的是这个解决方案是,如果这是一个错误并且Apple最终修复它,他们的修复程序是否会破坏使用此解决方法的任何代码?只有时间会给出答案…

后来编辑:我发现了一个更好的解决方法.将要展开的类的父(容器)类子类化,然后在那里实现展开.例如,在我的应用程序中,情况如下所示:

UISplitVIEwController    UINavigationController        MasterVIEwController    UINavigationController        DetailVIEwController ----> modal segue ----> ThirdVIEwController

从ThirdVIEwController返回到DetailVIEwController的退出/展开将演示错误 – 调用unwind:实现,但表单视图不会被解除.但是,如果我继承UISplitVIEwController并实现展开:那里,它工作正常. (unwind:实现可以是空的;重点是表单视图自动被解除.)显然这是一个与容器视图控制器有关的问题,你可以通过让容器处理它来解决它.

查看我的示例项目,上传到https://github.com/mattneub/Programming-iOS-Book-Examples/tree/master/ch19p561containerViewControllerStoryboard3Bug

总结

以上是内存溢出为你收集整理的ios6 – iOS 6故事板:模态视图不会消失全部内容,希望文章能够帮你解决ios6 – iOS 6故事板:模态视图不会消失所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1108340.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存