swift 滚动视图滚动到位置编程

c3frrgcw  于 2022-10-31  发布在  Swift
关注(0)|答案(1)|浏览(152)

我有一个ViewController,其中包含一个View和另一个View
当我用鼠标滚动时,滚动工作正常,但是如果我使用方法scrollView.setContentOffset,什么也不会发生。
我尝试使用scrollView检查滚动是否可用。delegate =工作正常
UI视图控制器

class WishListViewController: UIViewController {

 private lazy var wishListHeaderView: WishListHeaderView = {
        let view = WishListHeaderView()
        view.delegate = self

        return view
    }()

}

用户界面视图

class WishListHeaderView: UICollectionReusableView {

private lazy var wishListNavigationView: WishListNavigationView = {
        let view = WishListNavigationView()
        view.delegate = self

        return view
    }()
 }

当前视图带有滚动条,不起作用

private lazy var scrollView: UIScrollView = {
        let scrollView = UIScrollView()
        scrollView.showsHorizontalScrollIndicator = false

        return scrollView
    }()

private lazy var tabsStackView: UIStackView = {
        let stackView = UIStackView()
        stackView.distribution = .fill
        stackView.axis = .horizontal
        stackView.spacing = 8
        stackView.backgroundColor = PaletteApp.grayBackgroundButton

        return stackView
    }()

private func commonInit() {
        addSubview(scrollView)
        scrollView.snp.makeConstraints { make in
            make.left.right.top.bottom.equalToSuperview().inset(16)
            make.height.equalTo(38)
        }

        scrollView.addSubview(tabsStackView)
        tabsStackView.snp.makeConstraints { make in
            make.edges.equalToSuperview()
        }
   }
.........

这是这个视图中的方法,debagger显示我在这个方法中。在这之后,如果我使用print,我会看到scrollviewOffset(100,0)

func scrollToFirstTab() {
        self.scrollView.setContentOffset(CGPoint(x: 100, y: 0), animated: true)
    }

哪里有问题?谢谢

laawzig2

laawzig21#

内容偏移量不是正确的方法,偏移量是内容和滚动视图本身之间差距。有关内容偏移量的更多信息,请检查此答案。
您需要使用func scrollRectToVisible(CGRect, animated: Bool).
CGRect.zero以滚动到顶部。

相关问题