UIPageViewController在哪里缓存上一个和下一个控制器?

时间:2013-08-27 02:33:25

标签: ios uipageviewcontroller

当UIPageViewController使用viewControllerBeforeViewController和viewControllerAfterViewController方法调用数据源时,它将获取将在用户再次滑动时显示的视图控制器。是否存在可写属性,在将数据保存到需要使用之前?我问的原因是我希望用户能够向前或向后滑动,或者只是点击以前进到下一张幻灯片。但是,如果我点击从第一张幻灯片前进到第二张幻灯片(使用setViewControllers方法推进),我无法向后滑动;没有后台控制器可以回去。这仅影响第二张幻灯片。所以我需要能够以编程方式设置以前的控制器。

非常感谢任何帮助。

感谢。

3 个答案:

答案 0 :(得分:5)

我有类似的问题并发现,UIPagaViewController将其缓存的View Controller页面存储在childViewControllers数组中。

答案 1 :(得分:0)

如Kelin的回答所述,子数组包含“已加载”视图控制器。此信息也可以用于传播已加载的视图控制器之间的更改。 (常见的情况是结束刷新控件的刷新。)

在Swift中,您可以执行以下操作:

.
├── .envrc
├── bin -> /root/go/bin
├── out
├── pkg -> /root/go/pkg
└── src
    ├── github.com -> /root/go/src/github.com
    ├── golang.org -> /root/go/src/golang.org
    └── monkey
        ├── lexer
        │   ├── lexer.go
        │   └── lexer_test.go
        ├── main.go
        ├── out
        ├── repl
        │   └── repl.go
        └── token
            └── token.go

自身的类型为 UIPageViewController 的类型)

答案 2 :(得分:-1)

无法访问缓存的视图控制器。在实现数据源方法以启用滑动时,您可以保留指针:

– pageViewController:viewControllerBeforeViewController:
– pageViewController:viewControllerAfterViewController: