【问题标题】:push UIViewController without UINavigationController在没有 UINavigationController 的情况下推送 UIViewController
【发布时间】:2013-03-12 18:09:01
【问题描述】:

我有一个带有两个按钮的 UIViewController,prev 和 next。当我按下这些按钮时,我会重新实例化相同的视图控制器,并传递一些变量,然后将其推送到 UINavigationController 上,而不使用动画。

使用这种方法,我的内存总是满的,据我所知,只有当我弹出视图控制器时才会释放它。

所以我的问题是.. 我怎样才能实现这种行为?当我加载下一个(或上一个)视图控制器时,我需要释放内存

【问题讨论】:

  • 我相信你可以使用setViewControllers:Animated:在导航控制器堆栈上设置视图控制器。这将允许您“丢弃”不再需要的旧导航控制器。文档:developer.apple.com/library/ios/#documentation/uikit/reference/…。我没有示例代码,所以我没有发布作为答案。
  • 嗯..它可以工作!我会努力的,我会告诉你的!

标签: ios uiviewcontroller pagination


【解决方案1】:

构建一个自定义导航控制器并自己制作过渡动画。

【讨论】:

  • 如何构建自定义导航控制器?
  • 子类 UINavigationController 并使用您自己的自定义代码重载 pushViewController 的方法。我猜另一个选择是在 viewDidDissappear 中“卸载”您的视图,释放您不想持有的任何内存。
  • 我将尝试使用 viewDidDisappear,但与此同时,您能否提供一些代码来重载 pushViewController?因为我不知道如何防止将所有视图控制器保留在堆栈中
猜你喜欢
  • 2018-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-27
  • 1970-01-01
  • 2014-10-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多