ios - 具有不同 ViewController 的 UIPageViewController

标签 ios iphone xcode segue

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

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

page.xib

最佳答案

用 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/

相关文章:

iOS 8.4 CFNetwork SSLHandshake 失败 (-9850)

ios - 如何实现图像组?

ios4 - 带有轮廓或描边的 uilabel

iPhone、CGPDF文档 - PDF 链接

ios - 将信号从 iPhone 发送到微 Controller

ios - 将 UIView 添加到 UITableView 的标题而不是部分的标题

ios - 从函数 : Unexpectedly found nil while unwrapping an Optional value 设置 UILabel

ios - 删除 UINavigationBar 下的 1px 边框 - 不起作用

ios - iOS中的HttpRequest Body参数

ios - 一个写事务执行一个对象添加需要多长时间?