2017-02-22 30 views
0

Я хочу увеличить высоту ячейки таблицы, основанной на высоте метки. Я знаю, что после того, как яблоко iOS8 сделало жизнь разработчиков более легкой для достижения этой цели, установив следующие вещи.Как увеличить высоту ячейки tableview, основанную на высоте метки, если есть представление о представлении содержимого ячейки Swift 3?

self.tableView.estimatedRowHeight = 88.0 
self.tableView.rowHeight = UITableViewAutomaticDimension 

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 
    return UITableViewAutomaticDimension 
} 

func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat { 
    return UITableViewAutomaticDimension 
} 

Таким образом, чтобы дать клеткам лучше выглядеть и форму, я поместил настраиваемое представление о представлении содержимого Tableview ячейки и метка (содержание которого будет изменяться динамически в зависимости от ответа веб-службы) на моей настраиваемое представление, так что я могу улучшить представление.

Я установил 4 ограничения (ведущий, конечный, верхний, & внизу) для представления в отношении представления содержимого, а также для метки в отношении моего пользовательского представления, и я также установил количество строк для метки как 0.

Поскольку между представлением содержимого и меткой создается пользовательский вид, я хочу увеличить высоту представления в зависимости от высоты метки.

Мой вопрос в том, как я могу получить высоту надписи и увеличить высоту представления, чтобы я мог отображать все содержимое на этикетке.

Ранние предложения были бы высоко оценены. Заранее спасибо.

ответ

0

Как насчет функции делегата?

- (CGFloat)tableView:(UITableView *)aTableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { 
    switch (indexPath.row){ 
     case 0: 
     if(indexPath.section==0) 
      return 88.0; // your particular row 
     default: 
     return 40.0; // all other rows 
    } 
}