我在游戏中使用UITableViewController
菜单。表格视图为我的自定义UIView
打开了一个显示游戏的视图控制器。当游戏结束时,UIView
被通知(这有点毁了MVC校长),从那里我有点迷失。
问题:
UIView
可以与其控制器通信吗?怎么样?答案 0 :(得分:2)
在此处使用委托协议。您的自定义游戏UIView可以使用delegate
属性,并在事件发生时调用此委托上的方法(游戏结束,游戏暂停,查看关闭等)。这是一篇关于使用代表的好文章:How do I create delegates in Objective-C?
我建议使用UINavigationController。您不一定需要显示导航栏,但如果您将视图控制器嵌套在导航控制器中,则可以访问-pushViewControllerAnimated:
和-popViewControllerAnimated:
,这使得在嵌套视图的级别之间导航变得非常容易控制器。
UINavigationController的另一个好处 - 当您在视图之间切换时,您将获得一个漂亮的幻灯片动画。
除了UIKit UINavigationController / UIViewController机制之外,还有其他第三方机制。查看Three20 project,特别是TTNavigationCenter课程。