我在Swift 4.0中有一个应用程序,其中我有一个包含多个图像的宽滚动视图,每个图像都与屏幕一样宽。目前,用户可以轻扫它们,这非常有效。我正在为左右分页添加按钮。其中一个按钮的代码如下(左按钮具有相同的结构)。
当我使用按钮向右或向左翻页时,内容偏移量根本不会改变。例如,如果我从页面#1开始,水平内容偏移量为0.当我运行scrollRight函数时,内容偏移量保持为0,即使它显示页面#2(它打印" content offset = 0")。如果我滑动,它会显示第2页,但内容偏移更新为UIScreen.main.bounds.width(它打印"内容偏移= 414")
func scrollRight(){
let currentX = sectionScroll.contentOffset.x
let newX = currentX + UIScreen.main.bounds.width
sectionScroll.setContentOffset(CGPoint(x: newX, y: 0), animated: true)
print("content offset= ", sectionScroll.contentOffset.x)
}
我做错了什么?我只是不明白UIScrollViews的功能如何?有没有办法使用按钮显示下一页,并以滚动相同的方式更新内容偏移?我最终在以后的代码中使用内容偏移来确定用户正在查看哪个页面,因此我希望能够更新用户是否在页面中滑动或点击。
答案 0 :(得分:0)
我找到了解决方案,以防其他人遇到类似的问题。
当动画设置为“true”时,移动到新偏移需要一些时间。因此,你必须考虑到这一点 - 我只是在运行其余代码之前建立了一段短暂的延迟,尽管我确信还有其他方法可以解决它。