2

UITableViewController在游戏中使用 a 作为菜单。UIView表格视图为我的自定义显示游戏打开了一个视图控制器。游戏结束时UIView会收到通知(这有点破坏 MVC 主体),从那里我有点迷路了。

问题:

  1. 可以UIView与它的控制器通信吗?如何?
  2. 一个控制器可以与启动它的控制器对话吗?如何?
  3. 如何优雅地在所有这些复杂的视图和控制器网络之间转换?
4

1 回答 1

2
  1. 在此处使用委托协议。delegate当事件发生(游戏结束、游戏暂停、视图关闭等)时,您的自定义游戏 UIView 可以使用此委托的属性和调用方法。这是一篇关于使用委托的精彩文章:如何在 Objective-C 中创建委托?

  2. 我建议使用 UINavigationController。您不一定需要显示导航栏,但是如果您将视图控制器嵌套在您可以访问的导航控制器中-pushViewControllerAnimated:-popViewControllerAnimated:这使得在嵌套视图控制器的级别之间导航变得非常容易。

  3. UINavigationController 的另一个好处 - 当您在视图之间切换时,您将获得漂亮的幻灯片动画。

与 UIKit UINavigationController/UIViewController 机制相比,您可能更喜欢其他 3rd 方机制。查看Three20 项目,特别是 TTNavigationCenter 类。

于 2009-06-22T22:32:00.347 回答