У меня есть ярлык, commentLabel и textview, statsLabel.Они являются частью ячейки, которая содержит еще пару ярлыков (usernameLabel, checkinName, ...).
То, чего я хочу добиться, - это statsLabel (в котором отображается количество лайков и комментариев)отображается под комментарием.Однако, если commentLabel пусто, я удаляю его из своего подпредставления (потому что в противном случае метка по-прежнему занимает 1 строку без текста, что беспокоит меня из-за различных проблем с автоматическим размещением).
Что я делаю в своей ячейке (UICollectionViewCell)) class:
contentView.addSubview(commentTextview)
contentView.addSubview(statsLabel)
В моем методе cellForItemAt я устанавливаю текст обоих элементов на основе строки в массиве, например так:
if let comment = feed[indexPath.item].commentText {
cell.commentTextview.text = comment
if(comment.isEmpty) {
cell.commentTextview.removeFromSuperview()
}
}
Это работает как шарм.Текстовое представление удаляется при необходимости и остается видимым при наличии текста.Он работает, когда есть текст, но когда он пустой (и, следовательно, удален), statsLabel не знает, где ограничить, так как я установил следующее ограничение в своем классе ячеек (переопределить init):
statsLabel.topAnchor.constraint(equalTo: commentTextview.bottomAnchor, constant: 2).isActive = true
Любая идея, как я могу убедиться, что ограничение связано с commentTextview при необходимости, но с usernameLabel, когда оно пустое?