objective-c – 在UIWebView中构建我自己的图像查看器 – 替换网页中的flash图像播放器

我正在构建一个新的应用程序并且对“Howto”做了一点困惑:

这个概念是构建一个图像查看器(捕获并响应zoomin和scalling动作),它可以放在UIWebView中(就像可以在网页中查看图像的flash组件一样).

我的想法是基于UIScrollView实现图像查看器并将其放在UIWebView的前面(滚动webView将强制scrollView相对改变位置),
换句话说:imageView不是webView的一个组件(就像flash页面中的flash播放器一样),但它的外观和行为都像它一样.

有什么建议可以更好地解决我的问题或改进吗?

最佳答案 我认为在UIWebView上重叠UIScrollView可能会很麻烦.事实上,UIScrollView在拦截触摸时非常“贪婪”,你可能会有两个(另一个是UIWebView)竞争.也就是说,你可以获得混合和不同的结果,并使事情无缝地工作,你可能需要自定义UIScrollView和UIWebView如何处理触摸.

另一方面,你的最终目标并不完全清楚,很难提出建议.

我认为作为一种可能的替代方式,你可以通过在其中注入一些javascript / html来修改UIWebView的内容,以便图像查看器实际驻留在UIWebView中并依靠UIWebView来做所有的触摸处理(捏/缩放等),与您的javascript / html图像查看器一起使用.

如果您觉得这很有趣,我建议您查看UIWebView的-loadHTMLString:selector,它允许在UIWebView中显示您喜欢的任何内容(前提是它是正确的HTML / Javascript).

点赞