UIWebView в UITableView теряет текст - PullRequest
0 голосов
/ 08 июля 2011

Я просто изменил свое табличное представление, чтобы читать расширенный текст, а не простой текст, поэтому мое решение состояло в том, чтобы загрузить расширенный текст в UIWebview, а затем добавить веб-представление в представление содержимого ячейки табличного представления. Однако с этим изменением текст больше не отображается вообще. Вот код для -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 больше не отображается ни в одной ячейке таблицы. Кто-нибудь может помочь? Это будет высоко ценится.

1 Ответ

0 голосов
/ 08 июля 2011
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] обычно является плохим решением для обновления таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...