TableView высота ячейки... как ее настроить?
Можно ли изменить высоту только одной ячейки в сгруппированном представлении таблицы?
У меня есть табличный вид с 2 разделами из 3 и 2 строк... Я бы изменил высоту строки второй строки второй секции...
Как я могу это сделать?
Спасибо!
Ответы
Ответ 1
Вы можете посмотреть этот метод:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
В вашем случае код должен выглядеть так:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 1 && indexPath.row == 1) {
return SPECIAL_HEIGHT;
}
return NORMAL_HEIGHT;
}
Вы можете найти более подробную информацию о метод здесь
Ответ 2
В iOS 8 и выше мы можем использовать высоту Динамическая таблица таблицы.
Использование этой функции UITableviewCell
получить ее высоту из ее содержимого и нам не нужно писать heightForRowAtIndexPath
Все, что мне нужно сделать в viewDidLoad()
tableView.estimatedRowHeight = 44.0;
tableView.rowHeight = UITableViewAutomaticDimension;
Если cell
содержит uilabel
. затем примените ограничения к uilabel
![введите описание изображения здесь]()
Убедитесь, что вы изменили Label --Lines-- на 0
![введите описание изображения здесь]()
Ячейка автоматически вырастет с содержимым uilabel
:
![введите описание изображения здесь]()
Ответ 3
Вы можете реализовать следующий метод для возврата высоты строки по указанному пути указателя:
http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewDelegate_Protocol/Reference/Reference.html%23//apple_ref/occ/intfm/UITableViewDelegate/tableView:heightForRowAtIndexPath:
Ответ 4
Посмотрите
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
Для индексного пути просто проверьте, какая строка и раздел и соответственно отрегулируйте высоту.