首页 > 解决方案 > 如何滚动到scrollView中按钮的位置

问题描述

我在scrollView的中间有scrollView和按钮。我想滚动到这个按钮,使用按钮 y 位置,我该怎么做?

我可以滚动到scrollView的顶部或底部,但我不知道如何滚动到某些元素的确切位置

图片示例

标签: swiftscrollscrollview

解决方案


使用UIScrollView open func scrollRectToVisible(_ rect: CGRect, animated: Bool)方法。此方法允许您滚动到特定帧。

scrollView.scrollRectToVisible(/*Button frame*/, animated: true)

注意:假设您的按钮在多个子视图中,那么您首先需要从 scrollView 中找到按钮框架,然后滚动。

let buttonFrame = yourButton.superview?.convert(yourButton.frame, from: scrollView)
scrollView.scrollRectToVisible(buttonFrame ?? .zero, animated: true)

推荐阅读