uitableview cell上加载webview

在开发中 或许有些需求 需要在某个cell上添加webview。 下面我就来讲下cell上如何添加webview

这个就直接在tableview的代理中写了

#pragma mark - TableViewDelegate & TableViewDatasource


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    // Return the number of rows in the section.

    return  3;

}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

    static NSString *identifier = @"cell";

    if (indexPath.row == 1){

        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];

        if (!cell){

            cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];

            [cell.contentView addSubview:_webView];

            [cell setSelectionStyle:UITableViewCellSelectionStyleNone];

        }

        return cell;

    }else{

        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];

        if (!cell){

            cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];

        }

        cell.textLabel.text = [NSString stringWithFormat:@"index:%ld",(long)indexPath.row];

        return cell;

    }

    

}

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

{

    if(indexPath.row == 1){

        //通过webview代理获取到内容高度后,将内容高度设置为cell的高

        return _webView.frame.size.height;

    }else{

        return 70;

    }

}

#pragma mark - UIWebView Delegate 

-(void)webViewDidFinishLoad:(UIWebView *)webView

{

    //获取到webview的高度

    CGFloat height = [[self.webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"] floatValue];

    self.webView.frame = CGRectMake(self.webView.frame.origin.x,self.webView.frame.origin.y, kScreenWidth, height);

    [self.tableView reloadData];

}


就这样,整个webview就很容易加载到cell上了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值