Авторазмер UITableViewCell внутренний UITableView - PullRequest
0 голосов
/ 17 октября 2018

Я буду рад, если кто-нибудь поможет мне решить следующую проблему для меня.

Я пытаюсь построить UITableViewController с различными динамическими ячейками.Любая ячейка имеет разную высоту, поэтому я переопределил heightForRow из UITableViewDelegate и возвратил UITableViewAutomaticDimension.

К тому времени для каждой ячейки, которую я добавил в свой UITableView, все работало нормально, пока я не попытался добавить следующую прикрепленную: Пример ячейки .

Во время выполнения вызывается heightForRow для ячейки ниже, высота внутреннего UITableView была 0, потому что UITableViewAutomaticDimension не учитывает его высоту.

Мой вопрос заключается в том, как высотаForForow извне может учитыватьвнутренний UITableView с различной динамической высотой строки?

Спасибо за помощь:)

1 Ответ

0 голосов
/ 17 октября 2018

Вы можете использовать UITableViewDelegate методы для поддержки высоты

// Variable height support

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section;
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section;

Вы можете вычислить внутреннюю высоту таблицы и вернуть ее здесь:

    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
       // check if table view is the outertable view in case you have the same delegate
       // let customCellHeight = number of subCells * heightOfSubCell + padding;
    return customCellHeight;    
}
...