使uitableview单元格高度由搜索时单元格内容的自动高度决定

时间:2018-02-10 04:29:52

标签: ios objective-c uitableview

我有一个UITable视图和一个搜索栏,问题是如果它处于正常状态(非搜索模式),每行的高度是静态的

-(CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    return 78.0;
}

当状态变为搜索时,单元格高度应由实际内容决定,那么如何判断表格视图呢?

我尝试这样做:

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
    NSLog(@"Text change - %d",self.searching);

    //Remove all objects first.
    [self.searchResult removeAllObjects];

    if([searchText length] != 0) {
        self.searching = YES;
        [self searchTableList];
        self.tableView.rowHeight = UITableViewAutomaticDimension;
        // try to do it with this, not working
        [self.tableView reloadData];
    }
    else {
        self.searching = NO;
    }
    [self.tableView reloadData];
}

但它不起作用

1 个答案:

答案 0 :(得分:1)

-(CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath{
    return UITableViewAutomaticDimension;
}

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    return UITableViewAutomaticDimension;//78.0;
}

尝试行高