【发布时间】:2019-03-31 19:56:45
【问题描述】:
也许我的问题会重复。但是没有一个答案对我没有帮助。
现在我有了 UITableViewController,其中包含 静态单元格,并且每个 静态单元格 中的 rowHeight 不同。
我有 UIButton 可以帮助我在 UILabel 中显示全文。
- 第一行有实现 collectionView 和 height == 490.0
- 第二行有 UILabel 中的文本,当我单击 UIButton 时我想以全文显示,高度默认为 150.0,但如果是文本,我需要更高的高度会有很多文字
- 第三行有实现 collectionView 和 height == 150.0
- 第四行有实现 collectionView 和 height == 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.
【问题讨论】:
标签: ios swift xcode uitableview nslayoutconstraint