美文网首页
IOS TableViewCell嵌套webview

IOS TableViewCell嵌套webview

作者: 梁苏珍 | 来源:发表于2017-12-05 10:02 被阅读0次

    _____________加粗部分就是需要的相关的代码_______________

    - (void)viewDidLoad {

    [super viewDidLoad];

    _webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, kScreenWidth, 1)];

    _webView.delegate = self;

    _webView.scrollView.scrollEnabled = NO;

    //预先加载url

    [self.webView loadRequest:[[NSURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://www.baidu.com/"]]];

    }

    - (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

    }

    #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

    {

    if (indexPath.row == 1){

    static NSString *identifier = @"cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];

    if (!cell){

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

    [cell.contentView addSubview:_webView];

    /* 忽略点击效果 */

    [cell setSelectionStyle:UITableViewCellSelectionStyleNone];

    }

    return cell;

    }else{

    static NSString *identifier = @"cell";

    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 100;

    }

    }

     #pragma mark - UIWebView Delegate Methods

    -(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];

    }

    转载链接:http://www.jianshu.com/p/e199496a8b8a

    相关文章

      网友评论

          本文标题:IOS TableViewCell嵌套webview

          本文链接:https://www.haomeiwen.com/subject/wfeqixtx.html