gpt4 book ai didi

objective-c - 当我从 UITableViewController 打开自定义 UIView 时,如何关闭自定义 View 并返回 TableView ?

转载 作者:行者123 更新时间:2023-12-03 21:13:48 25 4
gpt4 key购买 nike

我正在使用 UITableViewController 作为游戏中的菜单。表格 View 为我的自定义 UIView 打开一个显示游戏的 View Controller 。当游戏结束时,UIView 会收到通知(这有点破坏 MVC 原则),从那里我有点迷失了。

问题:

  1. UIView 可以与其 Controller 通信吗?怎么办?
  2. 一个 Controller 可以与启动它的 Controller 对话吗?怎么办?
  3. 如何在所有这些复杂的 View 和 Controller 网络之间优雅地转换?

最佳答案

  1. 此处使用委托(delegate)协议(protocol)。您的自定义游戏 UIView 可以使用 delegate 属性,并在事件发生时(游戏结束、游戏暂停、 View 关闭等)调用此委托(delegate)上的方法。这是一篇关于使用委托(delegate)的精彩文章:How do I create delegates in Objective-C?

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

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

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

关于objective-c - 当我从 UITableViewController 打开自定义 UIView 时,如何关闭自定义 View 并返回 TableView ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1029703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com