我的应用程序有两个主要视图:NSScrollView和WebView中的NSTextView子类。 WebView显示的内容取决于用户在文本视图中输入的内容 - 所以我希望当用户滚动文本视图或Web视图时,其他按比例滚动到文本视图。
我发现this article提到了如何使用2个滚动视图进行操作。我的问题是WebKit似乎没有在任何地方使用普通的Scroll视图。
我该如何实现?我错过了什么?
答案 0 :(得分:6)
要完美解决这个问题并不是一个小问题,因为很难知道文本视图中正在编辑的文本数量是否与Web视图中相似的滚动量相对应。
但是,要回答关于WebView中滚动视图的问题,我们会使用它们,但据我所知,没有广泛记录。您必须利用以下事实:通过向相应的WebView子视图询问其“enclosingScrollView”,您可以使用公共API获取正在使用的scrollview。这样的东西在WebView中对我有用,我知道只有一个框架:
[[[[myWebView mainFrame] frameView] documentView] enclosingScrollView];
答案 1 :(得分:0)
如果他们按比例滚动,可能最简单的解决方案是覆盖UIScrollview
上的触摸事件,并使用(js)stringByEvaluatingJavaScriptFromString:
覆盖UIWebView
上的window.scroll(x,y)
。但是,从webView滚动到textview将需要更多工作。 webView会触及事件,因此您需要
创建顶级UIView
或UIScroll
视图,该视图捕获触摸并将其发送到scrollView
和webView
(通过javascript) ALL触及事件,或
使用手势识别器来执行相同操作。