在自定义UITableViewCell中添加了webView。然后行正在敲击

时间:2016-02-20 05:52:58

标签: ios objective-c iphone

我正在使用自定义tableview单元格使用自动布局(约束)。在那个tableview单元格中我添​​加了UIWebView,当我滚动行时它将会被移动。请帮助任何人

 static NSString *cellidentifier=@"Cell";

subcell=(CTEAuctionBidNowTVCell *)[tableView dequeueReusableCellWithIdentifier:cellidentifier];


if (subcell==nil)
{
    subcell =(CTEAuctionBidNowTVCell *) [[[NSBundle mainBundle] loadNibNamed:@"CTEAuctionBidNowTVCell" owner:self options:nil]objectAtIndex:0];
}

2 个答案:

答案 0 :(得分:0)

它会被触发,因为当您滚动tableview时,表视图单元格中的webview也会加载Web请求,因为滚动它时会有太多请求被触发。滚动时请检查内存压力

答案 1 :(得分:0)

无论如何,我给你一些解决方案。

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
   CustomTabelWebViewCell *cell = (CustomTabelWebViewCell *)[tableView dequeueReusableCellWithIdentifier:@"cell"];
   NSArray *nib = [[NSBundle mainBundle]loadNibNamed:@"CustomTabelWebViewCell" owner:self options:nil];
   if(cell==nil)
   {
     cell = nib[0];
   }
   //Here you load the webview
    .......
   return cell;
}

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
  return 193;
}

然后获取tableViewCell-webview行的高度调用下面的webView委托方法

 - (void) webViewDidFinishLoad:(UIWebView *)aWebView 
 {
     CGRect frame = aWebView.frame;
     frame.size.height = 1;
     aWebView.frame = frame;
     CGSize fittingSize = [aWebView sizeThatFits:CGSizeZero];
     frame.size = fittingSize;
     aWebView.frame = frame;
     self.cellSize = fittingSize.height;
     [self.tableView beginUpdates];
     [self.tableView endUpdates];
     NSLog(@"Calling webViewDidFinishLoad. Cell size value: %lf", self.cellSize);
  }