在Swift中点击Pagecontrol时更改页面

时间:2016-09-09 15:05:31

标签: ios swift uipageviewcontroller uipagecontrol

我知道此问题已在此处得到解答,但我无法使用Swift找到答案。目前我有一个嵌入在容器视图中的pageviewcontroller。容器视图与pagecontrol位于同一个viewcontroller中。我正在使用委托来获取在来回寻呼时更改的页面控件,但是当点击页面控制点时,页面当前不会更改。我怎么能在Swift中做到这一点?

我在这里找到的答案回答了问题,但没有使用pageviewcontroller。

1 个答案:

答案 0 :(得分:1)

我的情况与链接中提供的答案不同。我在容器视图中有一个viewpagecontroller,并且跟着this教程和second one,其中给出了页面控件的解释。

所以我使用容器视图转到父视图控制器并创建了一个全局变量:

  

var pagerController:MainPageViewController!

然后使用:

def newArray = arr.sort(false) { it.tokenize('.')[-1] as Integer }

然后,当值改变时,我为pagecontrol添加了一个插座:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if (segue.identifier == "PagerContainerSegue") {
        //This is used to reference the paging left and right functions
        let childViewController = segue.destination as! MainPageViewController
        pagerController = childViewController
    }
}

pageIndex在此处指定:

@IBAction func pageControlValueChange(_ sender: AnyObject) {
    //setViewControllers comes from the pageviewcontroller
    if(pageIndex == 0){
        pagerController.setViewControllers([orderedViewControllers[1]],
                                              direction: .forward,
                                              animated: true,
                                              completion: nil)
        pageIndex += 1

    }else{
        pagerController.setViewControllers([orderedViewControllers[0]],
                                               direction: .reverse,
                                               animated: true,
                                               completion: nil)
        pageIndex -= 1
    }
}