Возможно, мой вопрос повторяется. Но ни один из ответов не помог мне.
Теперь у меня есть UITableViewController с статическими ячейками и разным rowHeight в каждой статических ячейках .
И у меня есть UIButton , который должен помочь мне раскрыть полный текст в моей UILabel .
- Первая строка имеет collectionView и высоту == 490.0
- Во второй строке есть текст в UILabel , который я хочу показать в полном тексте, когда нажимаю UIButton и высоту по умолчанию 150,0, но мне нужно больше высоты, если текст будет иметь много текста
- Третий ряд имеет collectionView и высоту == 150.0
- Четвертый ряд имеет collectionView и высоту == 150.0
- Пятый ряд имеет UILabel и высоту == 50.0
И мой экран Снимите то, о чем я говорю.
И мой код:
class DetailTableViewController: UITableViewController {
@IBOutlet weak var imagesCollectionView: UICollectionView!
@IBOutlet weak var conveniencesCollectionView: UICollectionView!
@IBOutlet weak var equipmentAndOtherCollectionView: UICollectionView!
@IBOutlet weak var descriptionLabel: UILabel!
@IBOutlet weak var readMoreButton: UIButton!
var hall: Halls?
let eq = ["Без проходной", "Циклорама", "Дневной свет", "Условия для семинаров", "Трехфазная нагрузка", "Генераторный свет", "Моноблоки", "Системы крепления"]
let con = ["Wi-Fi", "Платная парковка", "Кофе-машина", "Душ", "Организация мероприятий"] // [""]
var readMore: Bool = false
override func viewDidLoad() {
super.viewDidLoad()
tableView.tableFooterView = UIView()
tableView.estimatedRowHeight = 50
tableView.rowHeight = UITableViewAutomaticDimension
descriptionLabel.text = hall.description
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
switch section {
case 0: return 1
case 1: return 1
case 2: if eq.isEmpty || eq == [""] { return 0 } else { return 1 }
case 3: if con.isEmpty || con == [""] { return 0 } else { return 1 }
default: return 1
}
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
self.tableView.deselectRow(at: indexPath, animated: true)
}
override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 0
}
@IBAction func readMoreButtonPressed(_ sender: UIButton) {
readMore = true
readMoreButton.isHidden = true
//... code for reveal text
}
}
hall.description имеет текст Пространство рассчитано на различные виды съёмок. Также возможно проведение различных мастер-классов, семинаров, встреч и мероприятий. Профессиональное оборудование Profoto D1 500 Air (4 источника) и крепкими стойками Manfrotto. Великолепная акустика. Крепкая белоснежная циклорама с регулируемым подогревом пола.2 больших окна, дающие великолепный дневной жесткий и мягкий свет (солнечная сторона). Аудиосистема с USB и AUX. Уникальные декорации в LOFT стиле. Бесплатное гримерное место перед съемкой.Бесплатный wi-fi.