每次按下按钮时如何使 scrollView 移动?
Posted
技术标签:
【中文标题】每次按下按钮时如何使 scrollView 移动?【英文标题】:How do I make scrollView move every time I press a button? 【发布时间】:2019-08-26 16:13:45 【问题描述】:我正在做一个测验应用程序。我有分段控件,在容器视图内的滚动视图内显示问题编号。每次按下“下一个问题”按钮时,我都需要移动滚动视图,以便用户始终可以在分段控件上看到当前问题编号。
我尝试使用此代码,但它只移动滚动视图一次。
var offsetNumber: Int = 0
@IBAction func nextQuestionButtonPressed(_ sender: UIButton)
scrollSegmentVC?.scrolView.setContentOffset(CGPoint(x: offsetNumber + 5, y:0), animated: true)
如何让它在每次按下按钮时移动?
【问题讨论】:
你能添加任何屏幕截图吗?它现在显示的内容以及预期的输出是什么? 我添加了一个屏幕。当点击按钮时,我需要分段控制来移动。现在它向前移动了 5 个点,仅此而已。 好吧,我可以看到所附的屏幕截图,我几乎无法猜出到目前为止您为实现这一目标所做的工作。但我认为在滚动视图中添加段控制不是一个好主意。您可以使用相同的集合视图。您可以使用 CollectionView 的scrollToItem
属性轻松实现您的目标,而不会弄乱任何代码。
【参考方案1】:
您想在每次按下按钮时更新您的offsetNumber
,因此首先将其递增,然后在调用setContentOffset
时使用更新后的值:
@IBAction func nextQuestionButtonPressed(_ sender: UIButton)
offsetNumber += 5
scrollSegmentVC?.scrolView.setContentOffset(CGPoint(x: offsetNumber, y:0), animated: true)
这样,offsetNumber
将继续增长,并且每次都进一步移动您的滚动视图。
【讨论】:
这对我有帮助。谢谢!以上是关于每次按下按钮时如何使 scrollView 移动?的主要内容,如果未能解决你的问题,请参考以下文章
每次我在 WPF 中加载时如何使 Listbox 的 ScrollViewer 滚动到顶部