我有一个具有水平分页的 UIScrollview,其中有五个不同的视图。这些都按照要求完美滚动。现在我的屏幕顶部还有五个按钮,在按钮操作时,滚动视图将滚动到所需的页面(例如,如果用户点击按钮 3,滚动视图将滚动到第三页)。所以现在我想要一个小视图作为选择器视图(也就是说,如果用户滚动到下一页,选择器视图应该在滚动过程中移动到下一个按钮)就在五个按钮下方。这在某种程度上也工作得很好,但有一个小问题,特别是在 iPad 设备上。问题是我的选择器视图没有在所需按钮的中心完成。它如何位于所需按钮的中心。我使用下面的代码来移动选择器视图。
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let newxPosition = scrollView.contentOffset.x
if UIDevice().userInterfaceIdiom == .phone {
UIView.animate(withDuration: 0.1) { [self] in
self.movingSelectorView.frame.origin.x = newxPosition/5 + (movingViewXConstant ?? 25)
}
} else if UIDevice().userInterfaceIdiom == .pad {
UIView.animate(withDuration: 0.1) { [self] in
self.movingSelectorView.frame.origin.x = newxPosition/5 + (movingViewXConstant ?? 75)
}
}
}
请查看上传的图片以便更好地理解。 这五个按钮不在滚动视图中,并且 movingSelectorView 也不在滚动视图内。