在 iphone 上的 3 个视图控制器之间切换
Posted
技术标签:
【中文标题】在 iphone 上的 3 个视图控制器之间切换【英文标题】:flipping between 3 view controllers on iphone 【发布时间】:2010-02-17 16:00:04 【问题描述】:我有 3 个视图控制器。首先显示主视图(控制器 1 的视图)。根据按钮选择,显示第二个视图(控制器 2 的视图)。此视图上有几个按钮和一个主页按钮。选择这些将显示带有动画的第三个视图(控制器 3 的视图)。选择主页按钮将显示主视图(控制器 1 的视图)。我遇到的问题是,当我按下控制器 2 视图上的按钮以显示控制器 3 的视图时,在动画期间我在后台看到控制器 1 的视图。我怎样才能摆脱它?
【问题讨论】:
如何显示视图控制器?你用 UINavigationController 还是别的什么? 不,我不使用 UINavigationController 在应用程序的委托中我添加 [window addSubview: viewController1.view] 然后在每个控制器的实现文件中,我从 NIB 实例化下一个视图控制器并将其添加为子视图。 【参考方案1】:听起来您可能想使用presentModalViewController
。这可能不会解决您在动画期间 view1 可见的其他问题。我会尝试设置 hidden
属性以用于 view1。
【讨论】:
【参考方案2】:您可以在动画序列之前从父视图中删除控制器 1 的视图。作为从控制器 1 到控制器 2 过渡的一部分,您应该这样做。
[controller1.view removeFromSuperView];
当然,您需要在某个时候重新添加它。
【讨论】:
我必须在第二个控制器的文件中有这行代码。我如何记住第一个控制器?我应该将它作为参数传递吗?我不知道该怎么做。 你在使用 UIView 动画块吗?如果是这样,它应该是该块的一部分。这意味着 in 将在第一个控制器中,或按钮按下的操作方法中。以上是关于在 iphone 上的 3 个视图控制器之间切换的主要内容,如果未能解决你的问题,请参考以下文章
对于 Iphone,如何从当前加载的视图中引用根视图控制器,以便可以替换/切换视图