我在collectionViewCell
如果按下按钮,我正在执行segue到newVC,我在newVC中显示的内容是通过JSON来的。如果url为空或相应按钮的url.characters.count == 0
,我想将其从单元格中删除,并在单元格中同等地调整其余按钮的大小。我怎样才能做到这一点。
答案 0 :(得分:1)
使用UIStackView
非常简单。只需将按钮标记为隐藏,UIStackView
将自行调整大小。
func buttonTapped(_ button: UIButton) {
button.isHidden = shouldHideButton()
performSegue(withIdentifier: "YourSegueIdentifier", sender: self)
}
func shouldHideButton() {
...
}
同样提及venkat,您可以使用removeArrangedSubview(_:)
而不是隐藏,这将永久删除该按钮。
我建议您阅读UIStackView
documentation。
答案 1 :(得分:1)
由于您正在StackView
工作,因此当我们隐藏您的UIButton
时,其中的其他项目会自动调整。
为了根据您的网址字符数隐藏UIButton
,我们可以执行以下操作:
button.isHidden = url.characters.count == 0
为了进一步简化,我们可以像这样检查.isEmpty
:
button.isHidden = url.isEmpty