UINavigation 后退按钮的问题与“多页”父视图一起使用

Posted

技术标签:

【中文标题】UINavigation 后退按钮的问题与“多页”父视图一起使用【英文标题】:issue with UINavigation back button work with "multi paged" parent view 【发布时间】:2012-03-01 21:30:47 【问题描述】:

我有两个视图 ViewAViewB。从ViewA,我可以通过一个非常常见的表格视图单元格选择导航到ViewB。我的 ViewA 有一个 UIPageControl 和几个虚拟页面,因此我可以在 ViewA 中切换以选择 Page1Page2 并导航相应地到 ViewB(我在视图出现之前设置了 ViewB 的属性)。

除了一个问题外,这一切都很好。由于它是基于导航的,而且我确实有一个系统提供的后退按钮。当我在 ViewB 并导航回 ViewA 时,它总是加载 Page1。当点击返回按钮时,有没有办法动态导航到 ViewA 的不同页面?

非常感谢您阅读我的问题。

【问题讨论】:

对不起,我错过了你的问题,我已经删除了下面的第一个答案。在 ViewA 中,是否在 viewWillAppear 中设置页面?弹出导航控制器时,视图不应更改。 是的,这是正确的,但我可以在 ViewB 上做一些事情,这会影响我应该在 ViewA 上的哪个页面,这就是我想要得到的。谢谢。 好的,在这种情况下我会使用委托。 是的,andershqst,如果我将委托调用放在 ViewWillDisappear() 中,那将完全有效。非常感谢。 【参考方案1】:

在视图 A 的 viewWillDisappear() 函数中,保存当前显示的页面(或它的编号)。 然后在 viewWillDisappear() 中,检查一个页面是否已经保存,然后显示正确的页面。

希望对您有所帮助。

【讨论】:

感谢您的回复。我认为它会起作用,但是如果我必须将它实际保存到数据存储中,那可能太多了。这只是一件好事,但如果太多了,我们可能不想要它。非常感谢。 可能是 NSUserDefault [[NSUserDefaults standardUserDefaults] setValue: pageNum forKey: @"activePage"];

以上是关于UINavigation 后退按钮的问题与“多页”父视图一起使用的主要内容,如果未能解决你的问题,请参考以下文章

iOS UINavigationController 基础知识和自定义后退按钮

UINavigationBar 隐藏按钮文本

UINavigationbar 重新加载/刷新按钮代码

UINavigation 控制器上的完成按钮没有导航回来

如何将按钮添加到 UINavigation 项?

后退按钮与按钮轮廓一起出现