【发布时间】:2020-02-07 17:59:40
【问题描述】:
您好:我正在尝试创建一个collectionView,页面顶部有一个segmentedControl,它会根据collectionView的当前页面更改它的索引
这是我用来更改选择器的代码:
override func scrollViewDidScroll(_ scrollView: UIScrollView) {
let offset = scrollView.contentOffset.x
self.selectorView.frame = CGRect(x: offset/3, y: 0, width: self.view.frame.width/3, height: 2)
}
但是,这根本不会移动 selectorView,所以我尝试将进程移动到后台线程:
override func scrollViewDidScroll(_ scrollView: UIScrollView) {
let offset = scrollView.contentOffset.x
DispatchQueue.main.async {
self.selectorView.frame = CGRect(x: offset/3, y: 0, width: self.view.frame.width/3, height: 2)
}
}
这可行,但这是滞后和错误的结果:screen recording on YouTube
有谁知道我该如何解决这个问题?
【问题讨论】:
标签: swift uiview uicollectionview uiscrollview cgrect