【问题标题】:UIWebView in UITableView hide cellsUITableView 中的 UIWebView 隐藏单元格
【发布时间】:2012-11-29 11:01:51
【问题描述】:

我在UITableView 中有一个UIWebView,我在故事板上有这个:

UIImageView 是我未来的导航栏,UIWebViewUITableView 中,我有这样的配置:

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

UIWebView 加载页面时(我有本地页面),我希望它动态地获取它们的大小,为此我有这个代码:

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

问题是当加载的页面很长时,我的UIWebBrowser 隐藏单元格并且没有推动它们以获取底部的单元格。 我不明白为什么我有这个,当我在情节提要中调整UIWebBrowser 的大小时我没有这个问题,但我想以编程方式进行

谢谢,

【问题讨论】:

  • 尝试在UITableViewCell 中添加UIWebView
  • XCode 告诉我«非法连接»,我不知道该怎么做,但我想如果我可以移动单元格,我会解决问题
  • 您可以尝试使用两个单元格将您的“父级”UITableView 更改为 Static Cells,在第一个单元格中放置您的 Web 视图,在第二个单元格中放置另一个 UITableViewDynamic Prototypes,这个有点棘手,但也许可行
  • 是的,但我只想在屏幕上滚动而不是独立于屏幕滚动TableView,我不知道你是否明白我的意思

标签: objective-c ios uitableview uiwebview resize


【解决方案1】:

感谢 tkanzakic,我通过在开头添加一个空单元格并更改它们的高度解决了这个问题

第一个单元格的高度 = 旧的 webView.heigh - 实际的 webView.heigh

要更改单元格的高度,我使用了tableview:cellForRowAtIndexPath 并且不需要重新加载 tableView 的所有数据我只是使用这个:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多