UIPageViewController Delegate方法仅在第一次调用

时间:2020-03-25 12:37:57

标签: ios swift uipageviewcontroller

我有一个UIPageViewController,具有页面卷曲效果。我正在尝试在iPad上实现横向的两页模式。为此,我需要使用书脊位置委托方法。 但是要注意的是,只有在viewcontroller打开时才第一次调用此方法。但是对于方向更改,不会调用此方法。

任何实现了此两页模式的示例或示例项目,将不胜感激。我无法迅速找到任何示例或示例

这是我的代码:

func pageViewController(_ pageViewController: UIPageViewController, spineLocationFor orientation: UIInterfaceOrientation) -> UIPageViewController.SpineLocation {
        if Utils.shared.isIpad() && orientation.isLandscape {
            self.isDoubleSided = true
            self.jumpToPage(page: UserDefaults.currentPage)
            return .mid
        }
        self.isDoubleSided = false
        self.jumpToPage(page: UserDefaults.currentPage)
        return .max
    }

我的寻呼机设置:

override func viewDidLoad() {
        super.viewDidLoad()

        initPager()


        // Do any additional setup after loading the view.
    }

    func initPager() {
        self.dataSource = self
        self.delegate = self
        //        let initialPage = 0
        for index in 0...623 {
            let page = PageController()
            page.dataExchange = dataExchange
            page.page = index
            page.book = book
            self.pages.append(page)
        }
        self.jumpToPage(page: UserDefaults.currentPage)
    }

0 个答案:

没有答案