如何将 UIWebView 放置在表格视图单元格中,同时保持 UIWebView 的滚动条?我的表格视图也有多个单元格和一个标题框架,我确实需要它是可滚动的,因为它有很多行。
当我使用 UITextView 时,文本显示得非常好,它也显示滚动条,但问题是我的内容是富文本,所以我没有任何其他选择,只能在 UIWebView 中显示内容。任何想法,黑客?
如何将 UIWebView 放置在表格视图单元格中,同时保持 UIWebView 的滚动条?我的表格视图也有多个单元格和一个标题框架,我确实需要它是可滚动的,因为它有很多行。
当我使用 UITextView 时,文本显示得非常好,它也显示滚动条,但问题是我的内容是富文本,所以我没有任何其他选择,只能在 UIWebView 中显示内容。任何想法,黑客?
除非苹果对此有所作为,否则这是行不通的。UITableView 和 UIWebView 都支持滚动条,但它们相互矛盾。UITableView 滚动条具有优先权,因此无论何时执行滚动操作,该操作都会发送到 UITableView 而不是 UIWebView。
出于某种原因,当 UITextView 与 UITableView 一起使用时,滚动条对两者都有效。
将 UIWebView 添加到表格单元格的问题是这两个对象都是可滚动的(tableview 和 webview),如果使用不当,将会产生并发症。除了 uiwebview,你的 tableview 有其他单元格吗?你需要tableview可以滚动吗?如果 tableview 不需要滚动,请在 webview 中启用滚动并为 tableview 禁用滚动。那应该行得通。
但是如果你只想显示文本,为什么不使用 UITextView (尽管你也会面临 UITextView 的同样问题)?
我刚刚在 UIWebView 文档中找到了这个:
“重要提示:您不应该在 UIScrollView 对象中嵌入 UIWebView 或 UITableView 对象。如果这样做,可能会导致意外行为,因为这两个对象的触摸事件可能会混淆并错误处理。”
当您将内容放入 UIWebView 时,滚动条会自动添加。请务必在界面生成器中取消选中“缩放页面以适合”,以便页面在显示时不会重新缩放。
当 UIWebView 的内容超过 UIView 的高度时,它会自动显示滚动条。
您可以将 UIWebView 放入 UIScrollView 并通过将canCancelTouchEvents
UISCrollView 的属性设置为NO
. 如果你只是轻弹, UIScrollView 将滚动。如果您的手指短时间按住然后开始轻弹,UIWebView 将滚动。
试试这个快速破解,看看你是否可以强制 web 视图显示滚动指示器: ((UIScrollView*)[webView.subViews objectAtIndex:0]).showsVerticalScrollIndicator = YES;
更彻底的方法是将您的单元格内容分为摘要和详细信息。在每个单元格中显示摘要,但不显示详细信息。选择单元格后,使用新屏幕显示所选单元格的全部内容。这完全避免了在可滚动视图中具有可滚动视图的可用性问题。