【发布时间】:2015-12-23 10:35:23
【问题描述】:
我对 iOS 很陌生。我正在创建一个基于table 的应用程序,我需要在我的UIWebView 中显示html 内容,它位于我的UITableViewCell 中。问题是当我滚动表格视图时,我的 webview html 内容被隐藏并显示为最后一个 tableCell 并且 CellForRowAtIndexPath 方法正在调用无限时间。
这是我的代码:
- (void)webViewDidFinishLoad:(UIWebView *)aWebView
{
aWebView.scrollView.scrollEnabled = NO;
CGRect frame = aWebView.frame;
frame.size.height = 1;
aWebView.frame = frame;
CGSize fittingSize = [aWebView sizeThatFits:CGSizeZero];
frame.size = fittingSize;
aWebView.frame = frame;
webViewHeight=fittingSize.height;
[tblEventInfo reloadData];
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return webViewHeight;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
EventInfo *event = [[EventInfo alloc] init];
event = [arrayEventInfo objectAtIndex:indexPath.section];
NSLog(@"%@", event.event_title);
if(!webViewHTML)
{
webViewHTML = [[UIWebView alloc]init];
webViewHTML.delegate = self;
webViewHTML.backgroundColor = [UIColor clearColor];
webViewHTML.opaque = NO;
webViewHTML.userInteractionEnabled = NO;
[webViewHTML loadHTMLString:event.event_html baseURL: nil];
}
[webViewHTML loadHTMLString:event.event_html baseURL: nil];
webViewHTML.frame = CGRectMake(0, 0, cell.frame.size.width, webViewHeight);
[cell.contentView addSubview:webViewHTML];
return cell;
}
请帮助我,我该如何解决这个问题?谢谢!
【问题讨论】:
标签: ios objective-c uitableview uiwebview