[Mac OS] 如何为 WebView 内含的 NSScrollView 指定一个自定义的类呢?

2012-09-10 15:17:58 +08:00
 chenluois
subclass 了一个 NSScrollView,做了一些自定义的修改,命名为 CLScrollView。
现在想把 WebView 内含的 NSScrollView 的类指定为 CLScrollView,请问要如何做到呢?

由于 WebView 比较特殊,并不能直接在 IB 里为其包含的 view 指定类。其包含的 NSScrollView 也只能通过:
(假设这个 WebView 名为 myWebView)

[[[[myWebView mainFrame] frameView] documentView] enclosingScrollView]

来访问。

有没有办法能把其下的 enclosingScrollView 的类设为 CLScrollView 呢?
5999 次点击
所在节点    iDev
22 条回复
chenluois
2012-09-21 11:14:36 +08:00
@jerry 不是换滚动条,而是换滚动条的父级 scrollView。换滚动条就很容易,subclass 一个 NSScroller,启动时初始化一个这个自定义的滚动条,再用 [[[[myWebView mainFrame] frameView] documentView] enclosingScrollView] 的 setVerticalScroller 和 setHorizontalScroller 方法直接设置就行了。
jorakura
2012-09-21 23:02:09 +08:00
@chenluois 在 iOS 上,也碰到类似问题。考虑换掉 UIWebView 里的 UIScrollView。觉得非常麻烦。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/47365

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX