在iOS中按下UITableView的单元格时如何打开展开视图?

在iOS中按下UITableView的单元格时如何打开展开视图?,ios,uitableview,uiwebview,expand,Ios,Uitableview,Uiwebview,Expand,我有UIWebView。我想在UITableView下打开它。 我有自定义的单元格,带有按钮,甚至可以通过单击单元格(didselectrow)来展开 如何将UIWebView放在单元格下,并在单击单元格时展开它 我还想在单击另一个单元格时将其关闭,因为它将打开其各自的webview 谢谢这是您如何实现这一目标的概述。代码没有经过测试,但应该是非常自解释的。如果你对此有任何疑问,请告诉我 - (void)tableView:(UITableView *)tableView didSelectRo

我有UIWebView。我想在UITableView下打开它。 我有自定义的单元格,带有按钮,甚至可以通过单击单元格(didselectrow)来展开

如何将UIWebView放在单元格下,并在单击单元格时展开它

我还想在单击另一个单元格时将其关闭,因为它将打开其各自的webview


谢谢

这是您如何实现这一目标的概述。代码没有经过测试,但应该是非常自解释的。如果你对此有任何疑问,请告诉我

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    _selectedCellIndexPath = indexPath;

    // redraw the visible cells, which will now expand the selected cell
    [_tableView reloadData];
}


- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{ 
    if([indexPath compare: _selectedCellIndexPath] == NSOrderedSame) {
        return EXPANDED_CELL_HEIGHT;
    } 
    else {
        return NORMAL_CELL_HEIGHT;
    }
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
     MyCell *cell = …. // get the cell
    if([indexPath compare: _selectedCellIndexPath] == NSOrderedSame) {
        return cell.webView.hidden = NO;
        // update the web view if necessary
    } 
    else {
        return cell.webView.hidden = YES;
    }


    return cell;
}

这将对您有所帮助,您需要将web视图添加到自定义单元格并更新行高:


要在单元格中显示web视图(更改其大小以适应它),还是在表格下?在单元格下。当我点击单元格时,一个网络视图出现在按下的单元格的正下方。我想显示网络视图,所以你建议我将网络视图放在CustomCell中,然后展开和收缩它?是吗???是的,这正是我的建议。如果需要,可以重用相同的web视图(因为一次只能看到一个)。您可以在CellForRowatineXpath中执行此操作(只需将其作为子视图添加到新选定的单元格中即可)。我认为在CellForRowatineXpath中执行此操作更好。因为这是重新使用和初始化单元格的地方。让我试试,一旦我成功,我一定会投票并接受答案。谢谢