swift - UIPageViewController 只有 1 个 UIViewController 和无限循环
问题描述
首先,我没有使用 UICollectionView,因为我需要将Slider放在 ViewContainer 中,并且不允许在其中放置可重复的元素。
正如我的问题标题所说,我想获得一个只有 1 个 UIViewController 和无限循环的 UIPageViewController 。
这是我当前的代码:
class ListPageViewController: UIPageViewController, UIPageViewControllerDataSource, UIPageViewControllerDelegate {
var pages: [UIViewController] = []
let viewModel = ListPageViewModel()
override func viewDidLoad() {
super.viewDidLoad()
viewModel.delegate = self
delegate = self
dataSource = self
if let storyboard = storyboard {
pages = [
storyboard.instantiateViewController(withIdentifier: "listViewController"),
storyboard.instantiateViewController(withIdentifier: "listViewController")
]
setViewControllers([pages.first!], direction: .forward, animated: true)
}
}
func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {
return brother(controller: viewController)
}
func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {
return brother(controller: viewController)
}
func brother(controller: UIViewController) -> UIViewController? {
if controller == pages.first { return pages.last }
return pages.first
}
}
问题是我无法引用唯一的 UIViewController,因为我创建了两个而不是一个,并且我需要从我的 UIPageViewController 操作那个子 UIViewController。
一些帮助?
解决方案
推荐阅读
- scala - 创建子类型的空 IndexedSeq 并使用 TailRec
- laravel - 在查询回调中返回关键字
- unity3d - 如何将 MixedReality-ToolKit 实施到现有的 HoloLens 项目中?
- azure-cosmosdb - 在对象列表中查询,查找不同对象的一些属性(CosmosDB SQL API)
- javascript - 遍历已解析的 JSON 时未定义
- postgresql - 从输出的第二行提取数据
- python - Django:为什么有些模板没有检测到?
- python - 如何使用 Python3 连接到 PI Webservice
- python - Python识别(转换)文本到日期
- python - 解包 2d 元组列表