2017-02-11 7 views
0

Я пытаюсь изменить размер таблицы, динамически фиксируя размер до их содержимого (количество строк). Высота строк установлена ​​до 300, и когда я нажимаю кнопку ниже таблицы, мне нужно будет увеличить ее высоту.Динамически изменяет высоту UITableView

Я судимый для инвалидов управления прокруткой в ​​UITableView и поместить этот код в viewDidAppear но я не получить правильный результат:

DispatchQueue.main.async { 
      var frame: CGRect = self.tableView.frame; 
      frame.size.height = self.tableView.contentSize.height; 
      self.tableView.frame = frame; 
} 

Я также пытался реализовать этот метод и вызывать их, прежде чем добавить ряд:

func tableView_Auto_Height() 
    { 
     if(self.tableView.contentSize.height < self.tableView.frame.height){ 
      var frame: CGRect = self.tableView.frame; 
      frame.size.height = self.tableView.contentSize.height; 
      self.tableView.frame = frame; 
     } 
    } 

у меня есть этот вид схемы:

components scheme

ответ

0

Наконец я решить эту проблему, добавив вид, который содержит Scrollview (вид прикрепить изображение) и другой вид перед свитком и добавив следующую строку в кнопке:

let numberForConstraint = CGFloat((detailLines.count + 1) * 300) 
tableHeightConstraint.constant = numberForConstraint 

Может быть, это не самое лучшее решение, но это решает моя проблема.

enter image description here

+0

300 высота сконфигурировано для моих строк –

Смежные вопросы