问题
有谁知道在 iOS 上避免滚动视图内的 Web 视图的技术原因(假设您愿意禁用网络视图本身的滚动)?
如果你看在 Apple 文档中的 UIWebView,他们指出:
重要的:您不应将 UIWebView 或 UITableView 对象嵌入到
UIScrollView 对象。如果这样做,可能会导致意外行为
因为两个对象的触摸事件可能会混淆并且错误
处理。
我有根据的猜测
看起来他们可能警告您不要将滚动视图放入另一个滚动视图中,因为内部滚动视图和外部滚动视图之间的触摸可能会混淆。
但是,有一个非常充分的理由想要放置一个UIWebView
在滚动视图内。网络浏览量不是just滚动视图。UIWebView
可以轻松地显示各种web内容。
如果不需要允许滚动within the UIWebView
本身,您可以使用以下任一方法关闭滚动:
webView.userInteractionEnabled = NO;
or
webView.scrollView.scrollEnabled = NO;
那么这样的设计真的有问题吗?
我想知道这是否部分是原作的产物UIWebView
界面,它没有给你直接(并记录)访问到其嵌入的UIScrollView
(能够轻松禁用其滚动)。也许苹果文档中的这个声明是它的遗产?
项目背景
我问这个问题是因为我正在维护一个应用程序(由其他人编写),该应用程序在滚动视图中使用一些 Web 视图,允许在它们之间水平滚动。 Web 内容必须被认为是固定的(不可更改),并且每个 HTML 页面仅显示一页内容。用户需要能够在页面之间滚动,因此多个UIWebViews
里面一个UIScrollView
为此被选中。到目前为止,看来may工作正常。
然而,页面显示全屏图像,滚动性能是一个问题。但是,我试图确定滚动视图中网络视图的基本嵌套(Apple 警告不要这样做)是否真的是问题的一部分。