После глубокого изучения ...
Я установил делегат контроллера поиска в тот же класс ([_searchController setSearchResultsDelegate:self];
), что препятствовало созданию делегата TTTableViewVarHeightDelegate, поэтому пользовательский heightForRowAtIndexPath не былне звонил.Я добавил:
- (CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath {
id<TTTableViewDataSource> dataSource = (id<TTTableViewDataSource>)tableView.dataSource;
id object = [dataSource tableView:tableView objectForRowAtIndexPath:indexPath];
Class cls = [dataSource tableView:tableView cellClassForObject:object];
return [cls tableView:tableView rowHeightForObject:object];
}
в класс TTTableViewController (источник TTTableViewVarHeightDelegate), и это сработало.