如何将 snapkit 中按钮的宽度设置为最小且不超过最大宽度
How to set the width of a button in snapkit to be the smallest it can be and not exceed a max width
我有一个按钮,我希望它尽可能小,因此它只包含文本,但如果按钮太大,请将其限制在插入 2 个标准单位的包含视图的大小内。
现在这是我的代码:
backButton.snp.makeConstraints { make in
make.centerX.equalToSuperview()
make.top.equalTo(containerView.snp.bottom).offset(2.su)
make.trailing.leading.lessThanOrEqualToSuperview().inset(2.su)
}
它的问题在于它会立即调整大小以占用 trailing
和 leading
约束中的 space。有没有办法让它花费更少 space?
您需要将 leading
设置为 greaterThanOrEqualToSuperview
或将 trailing
设置为 lessThanOrEqualToSuperview
。由于您将 centerX
设置为居中,因此您不需要两者。
当您将它们设置为 lessThanOrEqualToSuperview
时,trailing
工作正常,但 leading
会干扰它。
backButton.snp.makeConstraints { make in
make.centerX.equalToSuperview()
make.top.equalTo(containerView.snp.bottom).offset(2.su)
make.trailing.lessThanOrEqualToSuperview().inset(2.su)
}
我有一个按钮,我希望它尽可能小,因此它只包含文本,但如果按钮太大,请将其限制在插入 2 个标准单位的包含视图的大小内。
现在这是我的代码:
backButton.snp.makeConstraints { make in
make.centerX.equalToSuperview()
make.top.equalTo(containerView.snp.bottom).offset(2.su)
make.trailing.leading.lessThanOrEqualToSuperview().inset(2.su)
}
它的问题在于它会立即调整大小以占用 trailing
和 leading
约束中的 space。有没有办法让它花费更少 space?
您需要将 leading
设置为 greaterThanOrEqualToSuperview
或将 trailing
设置为 lessThanOrEqualToSuperview
。由于您将 centerX
设置为居中,因此您不需要两者。
当您将它们设置为 lessThanOrEqualToSuperview
时,trailing
工作正常,但 leading
会干扰它。
backButton.snp.makeConstraints { make in
make.centerX.equalToSuperview()
make.top.equalTo(containerView.snp.bottom).offset(2.su)
make.trailing.lessThanOrEqualToSuperview().inset(2.su)
}