IOS TableViewCell嵌套webview

2017-12-05  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读