在UIScrollView中嵌入UIWebView有多糟糕?

时间:2015-08-16 09:19:14

标签: ios objective-c uitableview uiscrollview uiwebview

所以Apple说不应该在UIS​​crollView对象中嵌入UIWebView和UITableView对象。 https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIWebView_Class/index.html

  

您不应在UIScrollView对象中嵌入UIWebView或UITableView对象。如果这样做,可能会导致意外行为,因为两个对象的触摸事件可能会混淆和错误处理。

这是否意味着我们不应该在滚动视图中包含Web或表视图?我正在实现一个具有多个Web视图和表视图的应用程序,这些视图与视图的其余内容一起滚动,因此禁用Web和表视图中的滚动。

从不在滚动视图中放置网页或表格视图意味着大的设计更改。 Apple是否应该从不在滚动视图中保留Web和表视图,这意味着我们永远不能让它们滚动视图的其他内容?

或者只要对滚动视图中嵌入的Web和表视图禁用滚动,它是否可以正常工作?如果没有 - 除了重新设计应用程序之外还有更好的选择吗?

2 个答案:

答案 0 :(得分:1)

我在制作应用中的UITableView内使用了UIScrollView

示例:

启用了分页的UITableView内的MKMapViewUIScrollView 中的POI列表

问题确实是UIScrollView的滚动实际上并不起作用。特别是在MKMapView上,因为此在所有方向滚动。解决方法是创建一个自定义UIView,其中包含两个UIButton,用作自定义UISegmentedControl。这些实际上会将UIScrollView滚动到所选的页面

Apple在他们的文档中提出的一些内容可能是能够对错误报告发表评论,或者说:看,我们告诉过你

答案 1 :(得分:0)

UIWebView ans UITableView继承自UIScrollView,因此如果内容超出屏幕尺寸,它们会滚动。 如果您在UIScrollView中将其用于另一个UIScrollView。这就是它可能导致问题的原因。

如果你想在另一个中使用滚动视图,你应该改变应用程序的设计。