【问题标题】:Embedding a UIScrollView inside of a UIPageViewController and disabling pageView swiping?在 UIPageViewController 中嵌入 UIScrollView 并禁用 pageView 滑动?
【发布时间】:2018-11-01 09:32:08
【问题描述】:

我有一个 UIView 子类(图形)嵌入在 UIViewController 内的 UIScrollview 内,这是 UIPageViewControllers 页面之一...我正在尝试禁用 @ 的滚动987654327@ 以便用户扫描滚动以查看图表的最左侧,而无需翻页。我怎样才能做到这一点? ScrollView 甚至是这项工作的正确工具吗?

class HistoricalHealthDataViewController: UIViewController, UIScrollViewDelegate {


    @IBOutlet weak var graphScrollView: UIScrollView!

    @IBOutlet weak var hockeyTrackerGraphView: HockeyTrackerGraphView! {
        didSet {
            self.hockeyTrackerGraphView.graphableObjects = HFRGraphableObjects
        }
    }


    var HFRGraphableObjects: [HockeyTrackerGraphableObject] = [] 





    override func viewDidLoad() {
        super.viewDidLoad()

        graphScrollView.delegate = self


    }

    func scrollViewDidScroll(_ scrollView: UIScrollView) {

        if let parentPageViewController = parent as? HistoricalPageViewController {

            for gestureRecognizer in parentPageViewController.gestureRecognizers {
                print("gestureRecognizer")
                gestureRecognizer.isEnabled = false
            }
        }
    }
}

【问题讨论】:

    标签: ios swift uiscrollview uikit uipageviewcontroller


    【解决方案1】:

    你没有显示它的代码,但我假设你实现了UIPageViewControllerDataSource 协议并且在某个地方你有方法:

    func pageViewController(UIPageViewController, viewControllerBefore: UIViewController) -> UIViewController? {
    }
    
    func pageViewController(UIPageViewController, viewControllerAfter: UIViewController) -> UIViewController? {
    }
    

    如果您安排这些方法在禁用分页时返回 nil,则页面视图不会滚动到其他页面。

    【讨论】:

      猜你喜欢
      • 2015-07-24
      • 2016-12-07
      • 1970-01-01
      • 2016-04-19
      • 2016-06-12
      • 1970-01-01
      • 2012-07-07
      • 1970-01-01
      • 2014-04-01
      相关资源
      最近更新 更多