gpt4 book ai didi

ios - 用来自服务器的数据填充 UIPageViewController?

转载 作者:行者123 更新时间:2023-11-28 06:35:22 25 4
gpt4 key购买 nike

我希望实现的主要功能是用户向左/向右滑动,下一页从侧面滑入,两个屏幕都是半显示的,直到滑动到下一页完成。我已经在页面 View Controller 中看到了这个功能,但我不确定这是要走的方向。

我没有找到太多关于从 Firebase 的服务器数据动态创建 View Controller 的信息,而且我几乎没有任何使用页面 View Controller 的经验,但是如果我只是在寻找向左/向右滚动的方法去?

如果我有 300 个页面,我可能不得不让用户滑动浏览,让用户必须先下载 300 张图片不是很糟糕吗?

或多或少只是在尝试之前寻找指导,因为我仍然不确定我是否清楚从哪里开始。

最佳答案

使用PageViewController即可以实现。按照这个:

  1. 通过拖动 UIPageViewController 设计屏幕(Xib 或使用 Storyboard)
  2. 设置委托(delegate)并实现委托(delegate)方法
  3. 重要的一步是配置您在转换期间需要多少页
  4. viewControllerAfterViewController 和 viewControllerBeforeViewController 这两个方法需要配置,因为它加载PreviousNext 屏幕。

现在,无论您需要什么地方,只需子类化:这个 View Controller 并相应地加载这个 xib。

这里是一些代码示例:

func pageViewController(pageViewController: UIPageViewController,
viewControllerAfterViewController ProView: UIViewController) -> UIViewController? {

let itemController = ProView as PageItemController

if itemController.itemIndex+1 < characterImages.count {
return getItemController(itemController.itemIndex+1)
}

return nil
}

func pageViewController(pageViewController: UIPageViewController,
viewControllerBeforeViewController ProView: UIViewController) -> UIViewController? {

let itemController = ProView as PageItemController

if itemController.itemIndex > 0 {
return getItemController(itemController.itemIndex-1)
}

return nil
}

private func getItemController(itemIndex: Int) -> PageItemController? {

if itemIndex < characterImages.count {
let pageItemController = self.storyboard!.instantiateViewControllerWithIdentifier("ItemController") as PageItemController
pageItemController.itemIndex = itemIndex
pageItemController.imageName = characterImages[itemIndex]
return pageItemController
}

希望对您有所帮助。

关于ios - 用来自服务器的数据填充 UIPageViewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39223306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com