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