ios - 如何从 UIScrollView 导航到自定义页面
问题描述
Github 链接 - https://github.com/dnlatt/iOS/tree/master/MobileDataUsage2
- 我从 Core Data 获取数据并传递给 MobileDataUsageViewController.swift。
let detailVC = segue.destination as! MobileDataDetailsViewController
detailVC.selectedYear = year
detailVC.years = years
detailVC.coreDataYears = coreDataYears
- 在该页面中,我想以滑块格式显示所有数据。
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)
}
- 如何访问 Core Data Array 的索引?例如,从表格中,如果用户选择“2018”,我需要导航到第 2 页并显示第 2 页的结果。我可以在页面视图控制事件中设置页码。
如果我从第一个屏幕单击 2018,它总是导航到 2019 数据结果。我想设置正确的页面并导航到正确的页面。如何获取selectedYear: Year!
from的索引coreDataYears: [Year] = []
并导航到正确的页面。我可以在下面的参数中设置变量
pageControl.currentPage = 1
现在只显示 2019 年的结果,这是第一个。
- 如果我在页面上滑动,它总是卡在底部。如何修复 UI 布局?UI 上还有额外的滚动。
解决方案
Githublink - https://github.com/dnlatt/iOS/tree/master/MobileDataUsage3
通过使用 UIPageViewController 重构代码解决了这个问题。上面的 Github 链接中的详细信息。
推荐阅读
- html - ASP.NET 核心 iframe 身份验证 cookie
- date - IF公式在excel中将日期与未来的指定日期进行比较
- javascript - 为什么 express.static 会显示我所有的客户端 JS 文件
- r - 努力从 ANOVA 转移到 ANCOVA
- php - 我正在为 bencode 制作一个解码器,我已经有一段时间试图获取它的 info_hash:
- python - 逐行修改 json 文件会出现错误 UnsupportedOperation: not readable
- javascript - 如何在 react-native 应用程序中访问和显示来自 firebase 存储的任何文档?
- google-cloud-platform - 谷歌云函数超时溢出解决方法/替代方案
- c# - XF Shell 导航到同一页面
- javascript - Jasmine-jQuery - 你可以“调用”事件间谍吗?