У меня есть пользовательская ячейка с меткой в ней. Я хочу сделать ярлык sizeToFit
в cellForRow...
и передать высоту меток переменной с именем labelHeight
. Затем в heightForRow...
я хочу вернуть labelHeight
.Установите float в cellForRow .. и верните его в heightForRow
Проблема заключается в том, что она возвращает высоту 0. Вот мой код:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
...
[customCell.label sizeToFit];
self.labelHeight = customCell.label.frame.size.height;
...
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
{
return self.labelHeight;
}
Это никогда не сработает. 'heightForRowAtIndexPath:' будет вызываться для многих строк задолго до того, как 'cellForRowAtIndexPath' когда-либо вызывается. – rmaddy
Итак, что я могу сделать, чтобы исправить это? –
Вы должны определить высоту в 'heightForRowAtIndexPath', не создавая сначала ячейку для строки. – rmaddy