scrollView取决于内容



我在VC上没有内容:TitleLabel和DescriptionLabel,有时我有很长的描述,它不放在我的VC中,所以我决定在那里添加scrollView。但滚动不工作,我怎么能计算scrollView大小取决于描述?

lazy var scrollView: UIScrollView = {
let scrollView = UIScrollView()
return scrollView
}()
func configureUI() {
view.addSubview(scrollView)

scrollView.snp.makeConstraints { make in
make.top.equalTo(self.view.safeAreaLayoutGuide)
make.leading.trailing.equalTo(self.view.safeAreaLayoutGuide)
make.bottom.equalTo(self.view.safeAreaLayoutGuide)
}

scrollView.addSubview(titleLabel)
scrollView.addSubview(descriptionLabel)
titleLabel.snp.makeConstraints { make in
make.top.equalTo(self.view.safeAreaLayoutGuide)
make.left.right.equalTo(self.view.safeAreaLayoutGuide)
}
descriptionLabel.snp.makeConstraints { make in
make.leading.trailing.equalToSuperview()
make.top.equalTo(self.titleLabel.snp.bottom)
make.bottom.equalTo(self.view.safeAreaLayoutGuide)
}

}

要使动态高度和垂直可滚动,请将这些标签嵌入到视图中:

func configureUI() {
self.view.addSubview(scrollView)

scrollView.snp.makeConstraints { (make) in
make.top.bottom.equalTo(self.view.safeAreaLayoutGuide)
make.leading.trailing.equalTo(self.view.safeAreaLayoutGuide)
}

scrollView.addSubview(contentView)

contentView.snp.makeConstraints { (make) in
make.width.equalToSuperview()
make.centerX.top.bottom.equalToSuperview()
}

_ = [titleLabel, descriptionLabel].map { self.contentView.addSubview($0)}


titleLabel.text = "Sample Title"
descriptionLabel.text = " << LONG TEXT >>"

titleLabel.snp.makeConstraints { (make) in
make.leading.top.trailing.equalToSuperview()
}

descriptionLabel.snp.makeConstraints { (make) in
make.top.equalTo(titleLabel.snp.bottom)
make.leading.trailing.equalToSuperview()
make.bottom.equalToSuperview()
}
}

最新更新