我正在尝试创建一个“书本风格”的界面。我有一个plist,它包含一个数组,告诉我哪个视图控制器是下一个“页面”。所以我检查了一下,将页面推到堆栈上,并用plist中的信息填充它。
我还需要一个‘菜单’按钮,让用户可以快速跳转页面。这很简单,但是如果用户从页面1跳到页面3,然后使用后退按钮,它显然会弹回1,但我需要它弹到页面2。
实现这一目标的最佳方法是什么?我尝试过popToViewContorller: animated:,但得到的错误提示我想要弹出的vc不存在。
发布于 2011-05-12 20:56:36
好的,你需要什么,你需要推送每一页,以达到你想要的页面
假设你想从一个页面转到4个页面,然后你需要根据你的浏览量设置一个整型变量(在app委托类中设置它的属性)。然后按下下一个视图,根据你的plist,然后检查这是你想要的页面(通过检查你的页码,保存在属性和当前页码)。如果是,则保持在那里,否则推送另一个。(这将完成每个页面的viewDidLoad )。
记住,当你得到你想要的页面时,将bool变量设置为NO;
为了管理页码,在plist中再添加一项,那就是页码,然后建立你的逻辑。
发布于 2011-05-12 20:31:20
我不认为你可以用poppingViewControcollers.Its来做,在你的动画数组中,你只会有索引为0的page1 & index.When为1的page3,do popToViewContorller: navigationController : it会把你带到刚刚加载的前一个页面,就像在你的例子中,它的页面1是在page3之前加载的。
发布于 2011-05-12 20:40:48
也许你想要的根本不是一个UINavigationController?它的设计目的是管理一堆视图控制器,但您需要的是控制器列表。
您可以创建自己的自定义UIViewController子类,用于管理一系列子视图控制器,并使用来自托管视图控制器的视图填充UIScrollView。
这样,UIScrollView可以:
只需设置contentOffset.,即可为
你说你把所有的视图控制器都放在一个plist中,所以它们不会太多。因此,无需担心托管视图控制器的动态创建和复杂的生命周期管理。
https://stackoverflow.com/questions/5977887
复制相似问题