• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 具有不同 ViewController 的 UIPageViewController

[复制链接]
菜鸟教程小白 发表于 2022-12-12 23:53:42 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我想用 UIPageViewController 和拖曳按钮(下一个和上一个)来显示 7 个不同内容的 View Controller ,这是我实现 UIPageViewController 后的 Storyboard。

我的问题是如何将这些 View Controller 放入 UIPageViewController 中?

page.xib



Best Answer-推荐答案


用 Swift 回答:

在 UIPageVC 实例的 viewDidLoad 中调用 setViewControllers 方法来定义您的第一个 VC、方向等:

override func viewDidLoad() {
    super.viewDidLoad()
    dataSource = self
    let vc = storyboard!.instantiateViewController(withIdentifier: "whatever storyboard id your first VC is")
    setViewControllers([vc],
                       direction: .forward,
                       animated: false,
                       completion: nil)
}

使用 UIPageViewControllerDataSource 协议(protocol)方法来定义当前 viewController 之前和之后的页面以及 View Controller 计数和索引。

func pageViewController(_ pageViewController: UIPageViewController,
                        viewControllerBefore viewController: UIViewController) -> UIViewController?
{
    // Return some VC based on what the current viewController param is.
}

func pageViewController(_ pageViewController: UIPageViewController,
                        viewControllerAfter viewController: UIViewController) -> UIViewController?
{
   // Return some VC based on what the current viewController param is.
}

func presentationCount(for pageViewController: UIPageViewController) -> Int {
    return 7
}

func presentationIndex(for pageViewController: UIPageViewController) -> Int {
    return viewControllers!.index(of: viewControllers!.first!)!
}

关于ios - 具有不同 ViewController 的 UIPageViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42160419/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap