首页 > 解决方案 > 如何从 UIScrollView 导航到自定义页面

问题描述

Github 链接 - https://github.com/dnlatt/iOS/tree/master/MobileDataUsage2

  1. 我从 Core Data 获取数据并传递给 MobileDataUsageViewController.swift。

let detailVC = segue.destination as! MobileDataDetailsViewController
        detailVC.selectedYear = year
        detailVC.years = years
        detailVC.coreDataYears = coreDataYears

  1. 在该页面中,我想以滑块格式显示所有数据。

 override func viewDidLoad() {
        super.viewDidLoad()
        pageControl.numberOfPages = coreDataYears.count
        pageControl.backgroundColor = .systemBlue
        pageControl.currentPage = 1
        scrollView.delegate = self
        
        pageControl.addTarget(self, action: #selector(pageControlDidChange(_:)) , for: .valueChanged)
        view.addSubview(scrollView)
        view.addSubview(pageControl)
        
    }

  1. 如何访问 Core Data Array 的索引?例如,从表格中,如果用户选择“2018”,我需要导航到第 2 页并显示第 2 页的结果。我可以在页面视图控制事件中设置页码。

如果我从第一个屏幕单击 2018,它总是导航到 2019 数据结果。我想设置正确的页面并导航到正确的页面。如何获取selectedYear: Year!from的索引coreDataYears: [Year] = []并导航到正确的页面。我可以在下面的参数中设置变量

pageControl.currentPage = 1

在此处输入图像描述

现在只显示 2019 年的结果,这是第一个。

在此处输入图像描述

  1. 如果我在页面上滑动,它总是卡在底部。如何修复 UI 布局?UI 上还有额外的滚动。

在此处输入图像描述

标签: iosswiftuipagecontrol

解决方案


Githublink - https://github.com/dnlatt/iOS/tree/master/MobileDataUsage3

通过使用 UIPageViewController 重构代码解决了这个问题。上面的 Github 链接中的详细信息。


推荐阅读