У меня есть scrollView, который содержит табличное представление, изображение и множество меток Вот пример расположения элементов управления:
- Просмотр изображения1
- Вид таблицы
- Метка 1
- Метка 2
- Метка 3
- Метка 4
- Просмотр изображения 2
Таблица не прокручивается. Мне удалось изменить его высоту в зависимости от количества строк. Вот код, который я использовал, я поставил его после создания ячейки:
var frame = tableView.frame
frame.size.height = tableView.contentSize.height
tableView.frame = frame
Однако, когда регулируется высота представления таблицы, расположение других элементов управления (Label1, Label2, Label3, Label4 и Image View2) не изменилось. Они перекрываются. Как автоматически настроить расположение других элементов управления, когда высота представления таблицы регулируется?
UPDATE:
viewController код:
class MyViewController: UIViewController, UITableViewDelegate, UITableViewDataSource
{
@IBOutlet weak var _Label1: UILabel!
@IBOutlet weak var _Label2: UILabel!
@IBOutlet weak var _Label3: UILabel!
@IBOutlet weak var _Label4: UILabel!
@IBOutlet weak var _Label5: UILabel!
@IBOutlet weak var _TableViewItems: UITableView!
override func viewDidLoad()
{
super.viewDidLoad()
// this will remove the extra empty cell divider lines
_TableViewItems.tableFooterView = UIView()
_TableViewItems.delegate = self
_TableViewItems.dataSource = self
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return items.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCell(withIdentifier: "sampleId") as! Sample
let row = indexPath.row
var frame = _TableViewItems.frame
cell ._LabelNext.text = "Sample Text"
frame.size.height = _TableViewItems.contentSize.height
_TableViewItems.frame = frame
return cell
}
override func viewWillLayoutSubviews()
{
super.viewWillLayoutSubviews()
tableViewHeightConstraint.constant = _TableViewItems.contentSize.height // <------ unresolved tableViewHeightConstraint
}
}