2012-11-29 110 views
1

我有UITableView一个UIWebView,我有这样的情节提要:一个UIWebView在UITableView的皮细胞

Storyboard design

UIImageView是我未来的NavBar和UIWebViewUITableView,我有这样的配置:

  • - UIImageView
  • - UITableView
      • - UIWebView
      • - UITableViewCell

UIWebView负载的页面(我有本地页)我想,它动态地需要它们的大小和为了这个,我有这样的代码:

[detailWebView setFrame:CGRectMake(0.,0.,detailWebView.frame.size.width,[[detailWebView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight;"] intValue])]; 

问题是,当加载页面很长,我UIWebBrowser隐藏细胞并且不会将它们推到底部获得细胞。 我不明白为什么我有这样的,当我调整至情节板中我没有这个问题UIWebBrowser,但我想这样做编程

感谢,

+0

尝试添加'UIWebView'的'UITableViewCell' – tkanzakic

+0

的XCode里面告诉我«非法连接»,我没怎么做,但我想如果我能打动我的细胞会解决问题 – Solidus

+0

你可以尝试改变你的“父”UITableView到两个单元格的静态单元格,在第一个单元格放在你的web视图中,第二个单元格用'动态原型类型'在另一个'UITableView'中,这是一个有点棘手,但也许它的作品 – tkanzakic

回答

1

感谢tkanzakic,我解决了通过在开头添加一个空单元格,并改变他们的HEIGH

HEIGH第一小区的旧=问题webView.heigh - 实际webView.heigh

要更改单元格我用tableview:cellForRowAtIndexPath 而且不需要的唤起注意重新加载标签的所有数据leView我只是用这个:

NSIndexPath* rowToReload = [NSIndexPath indexPathForRow:0 inSection:0]; 
NSArray* rowsToReload = [NSArray arrayWithObjects:rowToReload, nil]; 
[detailsTableView reloadRowsAtIndexPaths:rowsToReload withRowAnimation:UITableViewRowAnimationNone];