Установить высоту программно для одного UITableViewCell?
Мне нужно установить высоту для одного UITableViewCell в моем UITableView программно. Как я могу это сделать?
Мне нужно, чтобы эта одна ячейка была высотой в 150 пикселей, а все остальные могут по-разному подниматься на 44 пикселя.
Спасибо.
Ответы
Ответ 1
Существует функция делегата для высоты UITableViewCell.
Здесь вы указываете indexPath этой конкретной ячейки и возвращаете для нее высоту
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if(indexPath.section == yourSection && indexPath.row == yourRow) {
return 150.0;
}
// "Else"
return someDefaultHeight;
}
Ответ 2
Вам нужно будет знать или выяснить, какой индекс ячейки вы хотите сделать более высоким.
Скажем, его первая ячейка.
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row == 0) { //change 0 to whatever cell index you want taller
return 150;
}
else {
return 44;
}
}
Ответ 3
SWIFT ANSWER
Укажите, какой раздел и строку вы хотите изменить (помните, что счетчик начинается с 0, а не 1) в методе heightForRowAtIndexPath
.
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat{
if indexPath.section == 0 && indexPath.row == 0{
return 150
}
return 44.0
}
Ответ 4
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
Вы можете установить значение для ячейки по определенному пути индекса с помощью этого метода и по умолчанию для других ячеек.