我正在使用自定义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];
}
答案 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);
}