首页 > 解决方案 > UIStackvView 在 UIScrollView 中跳转。迅速

问题描述

我知道这很可能是一个限制问题。但是当我将宽度设置为视图时,它仍然对我没有帮助。我发现类似的问题。但他们并没有解决我的问题。

如何摆脱这个?

lazy var scrollView: UIScrollView = {
    let scrollView = UIScrollView()
    scrollView.translatesAutoresizingMaskIntoConstraints = false
    scrollView.backgroundColor = .white
    scrollView.addSubview(stackView)
    scrollView.showsVerticalScrollIndicator = false
    scrollView.showsHorizontalScrollIndicator = false
    scrollView.alwaysBounceHorizontal = false
    return scrollView
}()
private func setupScrollViewConstraint() {
    let frameLayoutGuide = scrollView.frameLayoutGuide
    NSLayoutConstraint.activate([
        frameLayoutGuide.leadingAnchor.constraint(equalTo: view.leadingAnchor),
        frameLayoutGuide.trailingAnchor.constraint(equalTo: view.trailingAnchor),
        frameLayoutGuide.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor),
        frameLayoutGuide.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor),
        frameLayoutGuide.widthAnchor.constraint(equalTo: view.widthAnchor)
    ])
}
private func setupStackViewConstraint() {
    let contentLayoutGuide = scrollView.contentLayoutGuide       
    NSLayoutConstraint.activate([
        stackView.leadingAnchor.constraint(equalTo: contentLayoutGuide.leadingAnchor, constant: 5),
        stackView.trailingAnchor.constraint(equalTo: contentLayoutGuide.trailingAnchor, constant: -5),
        stackView.topAnchor.constraint(equalTo: contentLayoutGuide.topAnchor, constant: 5),
        stackView.bottomAnchor.constraint(equalTo: contentLayoutGuide.bottomAnchor, constant: -5)])
}

标签: swiftuiscrollviewuikit

解决方案


有必要将滚动视图中的堆栈固定在中心。

stackView.centerXAnchor.constraint(equalTo: view.centerXAnchor)

推荐阅读