Ios 如何使用动画滚动UIScrollView而不中断其他功能?

Ios 如何使用动画滚动UIScrollView而不中断其他功能?,ios,swift,timer,Ios,Swift,Timer,在这个应用程序中,你可以点击诗句来突出显示它们。我添加了滚动功能,这样它就可以使用动画自动滚动。但是每当滚动开始时,我就不能再点击诗句,直到我停止滚动。以下是我目前的代码: @objc func move_view(){ 打印(“移动视图”) self.current\u scroll\u位置+=3 UIView.animate(持续时间:0.5,延迟:0,选项:。曲线,动画:{ self.scroll\u view.contentOffset=CGPoint(x:0,y:CGFloat(sel

在这个应用程序中,你可以点击诗句来突出显示它们。我添加了滚动功能,这样它就可以使用动画自动滚动。但是每当滚动开始时,我就不能再点击诗句,直到我停止滚动。以下是我目前的代码:

@objc func move_view(){
打印(“移动视图”)
self.current\u scroll\u位置+=3
UIView.animate(持续时间:0.5,延迟:0,选项:。曲线,动画:{
self.scroll\u view.contentOffset=CGPoint(x:0,y:CGFloat(self.current\u scroll\u位置))
},完成日期:无)
}
//开始滚动
打印(“开始滚动”)
self.current\u scroll\u position=Int(self.scroll\u view.contentOffset.y)
self.scroll_timer=timer.scheduledTimer(时间间隔:时间间隔(0.5),目标:self,选择器:#选择器(self.move_视图),用户信息:nil,重复:true)
RunLoop.current.add(self.scroll\u计时器,forMode:.commonModes)
self.is_scrolling=true
以下是不带滚动条的突出显示:

这是scroll的外观:


如您所见,我无法在滚动时点击,如何解决此问题?

UIViewAnimationOptions
有一个常量
allowUserInteraction
,因此您可以这样使用它:

UIView.animate(withDuration: 0.5, delay: 0, options: [.curveLinear, .allowUserInteraction], animations: {
    self.scroll_view.contentOffset = CGPoint(x: 0, y: CGFloat(self.current_scroll_position))
}, completion: nil)

这应该允许用户在进行动画时在视图上进行手势。

AFAIK,这是iOS的前提。iOS为用户体验提供了所有能力,因此平滑滚动是前提的一部分,所有资源都分配给了这项任务。你也可以在Chrome和Safari上看到这种行为,当滚动时,页面停止加载。。。。至少到目前为止,我的研究是这样的,没有解决
uiviewmanimationoptions
包括
allowUserInteraction
,这可能会有所帮助。e、 例如,
选项:[.curveLinear.allowUserInteraction]
@Samantha,这很有效!如果你想把它作为一个答案,我会接受它。谢谢!:-)