UITableView中的UIWebView丢失文本

时间:2011-07-08 07:50:07

标签: uitableview uiwebview

我刚刚更改了我的tableview以读取富文本而不是纯文本,因此我的解决方案是将富文本加载到UIWebview中,然后将webview添加到tableview单元格内容视图中。 但是,通过此更改,文本根本不再显示。这是-cellForRowAtIndexPath:

的代码
-(UITableViewCell *)tableView:(UITableView *)tableView 
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellTVIdentifier = @"CellTVIdentifier";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellTVIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc]
                 initWithStyle:UITableViewCellStyleDefault
                 reuseIdentifier:CellTVIdentifier]
                autorelease];
    }

    int row = indexPath.row;

    NSString *cellString = [theArray objectAtIndex:row];

    // replaced    cell.textLabel.text=cellString;       
    // with

    UIWebView *webTVCell = [[UIWebView alloc] init];
    [webTVCell loadHTMLString:cellString baseURL:nil];
    [cell.contentView addSubview:webTVCell];
    [webTVCell release];

    return cell;

但是,cellString中的文本不再出现在tableview的任何单元格中。有人可以帮忙吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

UIWebView *webTVCell = [[UIWebView alloc] initWithFrame:cell.bounds];

尝试此而不是UIWebView *webTVCell = [[UIWebView alloc] init];

UIWebView不适用于其他滚动条(如UITableView);

要调整单元格的大小,您应该使用UITableView.rowHeight属性或以下UITableViewDelegate方法:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

顺便说一下,[UITableView reloadData]通常是更新表格的错误决定。