【发布时间】:2021-09-26 04:58:31
【问题描述】:
我无法理解视图不适合父视图?此屏幕截图显示绿色按钮的问题,该按钮不适合父视图。红色背景颜色是containerView。 我正在使用 SnapKit 进行约束。请帮我。谢谢!
private lazy var scrollView = UIScrollView()
private lazy var containerView = UIView()
// etc
// viewDidLoad
scrollView.addSubview(containerView)
containerView.addSubviews([boxView, addButton])
boxView.addSubviews([titleLabelView, vStackView])
view.addSubview(scrollView)
// viewWillLayoutSubviews
scrollView.snp.makeConstraints {
$0.edges.equalToSuperview()
}
containerView.snp.makeConstraints {
$0.edges.equalToSuperview()
$0.width.equalToSuperview()
}
addButton.snp.makeConstraints {
$0.height.equalTo(65)
$0.top.equalTo(boxView.snp.bottom).offset(24)
$0.leading.trailing.equalToSuperview().inset(40)
}
【问题讨论】:
-
我建议不要立即在你的声明中加入约束。相反,将其分解为视图/子视图。添加约束。 only 然后尝试编写你的代码。除了
lazy、$0.和其他所有内容之外,还有更多内容。这是没有冒犯的意思!不使用Superview,约束就够难了!一步一步来!
标签: swift autolayout snapkit