每次按下按钮时如何使 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 滚动到顶部

按下缩放按钮时如何缩放 ScrollView 图像?

打开键盘时如何按下按钮

为什么按下按钮时我的物体不能连续旋转?

如何在 ScrollView 内的 LinearLayout 底部放置按钮

如何使 UIButton 与 UIScrollView 一起移动