ios - 当前页面点较大的页面控件不起作用(带有滚动的 UIPageControl)
问题描述
所以我正在使用这段代码,但它没有显示第一个点(全白)。
实施概述:
在 viewDidAppear -
adjustDots()
在 scrollViewDidScroll -
let page = scrollView.contentOffset.x / scrollView.frame.size.width
adjustDots()
我们有 :
func adjustDots()
{
pageControl.subviews.forEach {
$0.transform = CGAffineTransform(scaleX: 1.15, y: 1.15)
}
pageControl.subviews[pageControl.currentPage].transform = CGAffineTransform(scaleX: 1.5, y: 1.5)
self.pageControl.subviews[self.pageControl.currentPage].translatesAutoresizingMaskIntoConstraints = false
self.pageControl.subviews[self.pageControl.currentPage].centerYAnchor.constraint(equalTo: self.pageControl.subviews[0].centerYAnchor , constant: 0)
self.pageControl.subviews[self.pageControl.currentPage].centerXAnchor.constraint(equalTo: self.pageControl.subviews[0].centerXAnchor , constant: 0)
}
这里可能有什么问题?任何帮助深表感谢。
解决方案
由于不清楚的原因,您正在弄乱 UIPageControl(其子视图)的内部。你不应该那样做。第一个点在开头是白色的,表示选择了第一页。如果您希望另一个点为白色,请设置 ' currentPage
' 属性。
有关详细信息,请参阅https://developer.apple.com/documentation/uikit/uipagecontrol。
推荐阅读
- django - 来自 url 的 DRF 嵌套路由器序列化程序源字段
- c - 无法打开头文件(VS2019)
- linux - 在 bash scriptlinux 中验证当前日期和 7 天前的命令
- multidimensional-array - 当要素的坐标频繁更新时,使用哪种空间数据结构?我试过 R 树,二维网格
- typo3 - 仅在 TYPO3 的根页面上缺少 JS 文件
- flutter - 在颤动中导航屏幕的一部分
- mysql - 为什么 SET 和 CONVERT 不能用于更新 MYSQL 中的表
- regex - 我正在尝试构建一个包含 1 个字符和一个数字的正则表达式。但无法制作正则表达式
- android - 十六进制颜色标准的颜色编码阴影
- multidimensional-array - 将 Array{T,N} 转换为 Array{Array{T,M},NM} 的优雅方式