UIScrollView 不滚动 - 内容大小不明确



我正在尝试创建滚动视图。视图本身正确 显示但它没有滚动,即使我向其添加了视图并且 设置内容大小。

注意:我不使用情节提要,而是仅使用约束(自动布局(。

法典:

let scrollView: UIScrollView = {
        let sv = UIScrollView()
        sv.isScrollEnabled = true
        sv.backgroundColor = .brown
        return sv
    }()
    override func viewDidLoad() {
        super.viewDidLoad()
        setupViews()
    }
    func setupViews() {
        self.view.addSubview(scrollView)
        scrollView.anchor(top: self.view.topAnchor, left: self.view.leftAnchor, bottom: self.view.bottomAnchor, right: self.view.rightAnchor, paddingTop: 0, paddingLeft: 0, paddingBottom: 0, paddingRight: 0, width: 0, height: 0)
        scrollView.contentSize = CGSize(width: self.view.frame.width, height: 2000)
        print(scrollView.contentSize)
        let view = UIView()
        view.backgroundColor = .blue

        scrollView.addSubview(view)
        view.anchor(top: scrollView.topAnchor, left: scrollView.leftAnchor, bottom: scrollView.bottomAnchor, right: scrollView.rightAnchor, paddingTop: 0, paddingLeft: 0, paddingBottom: 0, paddingRight: 0, width: 0, height: 0)
    }

.anchor(( 是我做的一个自定义扩展,以便更轻松地约束视图。

任何帮助将不胜感激。

最好不要将自动布局与框架布局混合使用

1-评论

scrollView.contentSize = CGSize(width: self.view.frame.width, height: 2000)

2-在滚动视图内的视图与VC视图之间设置等宽约束,高度约束为2000

不要与VC的观点变化混淆

let view = UIView()

let contentView = UIView()

然后添加这 2 个

contentView.widthAnchor.constraint(equalTo:self.view.widthAnchor).isActive = true
contentView.heightAnchor.constraint(equalToConstant:2000).isActive = true

相关内容

  • 没有找到相关文章

最新更新