当我从UITableViewController打开自定义UIView时,如何关闭自定义视图并返回到表视图?
-
06-07-2019 - |
题
我正在使用 UITableViewController
作为游戏中的菜单。表视图为我的自定义 UIView
打开一个视图控制器,显示游戏。当游戏结束时, UIView
被通知(这有点毁了MVC校长),从那里我有点迷失。
问题:
-
UIView
可以与其控制器通信吗?怎么样? - 一个控制器可以与启动控制器的控制器通话吗?怎么样?
- 如何优雅地在所有这些复杂的视图和控制器之间进行转换? 醇>
解决方案
-
在此处使用委托协议。您的自定义游戏UIView可以使用
delegate
属性,并在事件发生时(游戏结束,游戏暂停,查看关闭等)调用此委托上的方法。这是一篇关于使用代表的好文章:如何在Objective-中创建委托C 1 -
我建议使用UINavigationController。您不一定需要显示导航栏,但如果您将视图控制器嵌套在导航控制器中,则可以访问
-pushViewControllerAnimated:
和-popViewControllerAnimated:
在嵌套视图控制器级别之间导航非常容易。 -
UINavigationController的另一个好处 - 当您在视图之间切换时,您将获得一个漂亮的幻灯片动画。
醇>
除了UIKit UINavigationController / UIViewController机制之外,还有其他第三方机制。查看 Three20项目,特别是TTNavigationCenter课程。
不隶属于 StackOverflow