2016-12-09 3 views
-2

Есть ли способ узнать высоту содержимого табличного представления, помимо добавления высоты всех ячеек из всех разделов?Быстрая высота содержимого табличного вида

У меня есть 3 секции с разными ячейками высоты и переменным количеством ячеек. Поэтому я надеюсь, что системный метод получит высоту содержимого табличного представления.

EDIT: нигде в ответе на другой аналогичный вопрос не говорится, где называть tableView.contentSize

+1

'contentSize' свойство делает трюк для вас. В следующий раз попробуйте найти ответ раньше: http://stackoverflow.com/questions/6860231/how-to-get-the-size-of-a-uitableviews-content-view –

+0

спасибо. Я пробовал, но все, что я получал, - это автоматизация ячеек и динамическая высота ячеек, а не фактическое представление таблицы. – asheyla

+0

Я добавил этот ответ на другой идентичный вопрос https://stackoverflow.com/a/48566448/1720581 – drfear

ответ

4

Вы можете извлечь размер содержимого по:

Swift/ObjC:

let contentSize : CGSize = self.tableView.contentSize 
let width = self.tableView.contentSize.width 
let height = self.tableView.contentSize.height 

Вы можете использовать это, чтобы знать, если загружен ваш UITableView (Swift 2,2):

override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) { 
    if indexPath.row == (tableView.indexPathsForVisibleRows!.last! as! NSIndexPath).row { 
     // End of loading 
     let contentSize : CGSize = self.tableView.contentSize 
     let width = self.tableView.contentSize.width 
     let height = self.tableView.contentSize.height 
    } 
} 
+0

Где мне позвонить, чтобы убедиться, что таблица загружена? Я попытался посмотреть, загрузился ли он, и он говорит, что высота равна 0. – asheyla

+0

спасибо. вы очень помогли. – asheyla

+0

Без проблем, добро пожаловать –

1

свойство размер содержимого Используйте Tableview, чтобы получить высоту содержания в нем:

tableView.layoutIfNeeded 
let tblSize = tbl_Data.contentSize 
print(tbl_Data.contentSize.height) 
Смежные вопросы