ios - UIWebView内部ScrollView

标签 ios uiwebview uiscrollview transformation zooming

我试图基于UIWebView内部UIScrollView的zoomScale将缩放转换应用于某些CALayers。但是,我注意到minimumZoomScale / maximumZoomScale值在执行缩放时不断变化。这很好奇,因为单独使用时UIScrollView并不是这样执行的。通常,UIScrollView的zoomScale在已明确设置的最小和最大缩放比例值之间波动。

这是从UIWebView内部UIScrollView中获取的日志

2014-02-21 15:19:36.335 CCCanvasSample[31484:70b] MIN SCALE 1.000000 //Zoomed all the way out
2014-02-21 15:19:36.335 CCCanvasSample[31484:70b] ZOOM SCALE 1.000000
2014-02-21 15:19:36.336 CCCanvasSample[31484:70b] MAX SCALE 7.200000
2014-02-21 15:19:41.433 CCCanvasSample[31484:70b] MIN SCALE 1.000000
2014-02-21 15:19:41.433 CCCanvasSample[31484:70b] ZOOM SCALE 3.179087
2014-02-21 15:19:41.434 CCCanvasSample[31484:70b] MAX SCALE 7.200000
2014-02-21 15:19:46.417 CCCanvasSample[31484:70b] MIN SCALE 0.314534
2014-02-21 15:19:46.418 CCCanvasSample[31484:70b] ZOOM SCALE 2.127526
2014-02-21 15:19:46.418 CCCanvasSample[31484:70b] MAX SCALE 2.264642
2014-02-21 15:19:49.555 CCCanvasSample[31484:70b] MIN SCALE 0.147830
2014-02-21 15:19:49.555 CCCanvasSample[31484:70b] ZOOM SCALE 1.064375
2014-02-21 15:19:49.556 CCCanvasSample[31484:70b] MAX SCALE 1.064375
2014-02-21 15:19:51.598 CCCanvasSample[31484:70b] MIN SCALE 0.138889
2014-02-21 15:19:51.598 CCCanvasSample[31484:70b] ZOOM SCALE 1.000000
2014-02-21 15:19:51.599 CCCanvasSample[31484:70b] MAX SCALE 1.000000 //Zoomed all the way in

这是来自常规UIScrollView的日志:
2014-02-21 15:24:10.342 CCCanvasSample[31540:70b] MIN SCALE 0.033884
2014-02-21 15:24:10.344 CCCanvasSample[31540:70b] ZOOM SCALE 0.033884
2014-02-21 15:24:10.344 CCCanvasSample[31540:70b] MAX SCALE 0.500000
2014-02-21 15:24:14.595 CCCanvasSample[31540:70b] MIN SCALE 0.033884
2014-02-21 15:24:14.596 CCCanvasSample[31540:70b] ZOOM SCALE 0.055143
2014-02-21 15:24:14.596 CCCanvasSample[31540:70b] MAX SCALE 0.500000
2014-02-21 15:24:16.440 CCCanvasSample[31540:70b] MIN SCALE 0.033884
2014-02-21 15:24:16.440 CCCanvasSample[31540:70b] ZOOM SCALE 0.355361
2014-02-21 15:24:16.441 CCCanvasSample[31540:70b] MAX SCALE 0.500000
2014-02-21 15:24:18.503 CCCanvasSample[31540:70b] MIN SCALE 0.033884
2014-02-21 15:24:18.504 CCCanvasSample[31540:70b] ZOOM SCALE 0.500000
2014-02-21 15:24:18.504 CCCanvasSample[31540:70b] MAX SCALE 0.500000

我还注意到,如果我尝试自行设置UIWebView,它将重置其UIScrollView的最小/最大缩放比例。
任何人都可以阐明这种行为吗?

最佳答案

经过一段时间的努力,我能够获得UIWebView的准确缩放比例:

CGFloat accurateZoomScale = webView.scrollView.zoomscale/webView.scrollView.minimumZoomScale;

仍然不确定UIWebView如何操作其内部UIScrollView的细节,但希望这可以节省一些时间。

关于ios - UIWebView内部ScrollView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21944574/

相关文章:

ios - 如何防止 UIwebView 刷新?

ios - UIStackView 是否可以滚动?

objective-c - UIScrollView 防止向一个方向滚动,而不管 contentSize/Offset

ios - 错误 ITMS-90596 : "Invalid Bundle. The asset catalog at Payload"

iphone - iOS - 如何在 LeadBolt sdk 中设置广告刷新率

iphone - 在 iPhone 上使用 <iframe> 播放 YouTube 失败,但在 iOS 6 下的 iPad 上仍然可以使用(两者在 iOS 5 上都可以正常工作)

ios - UICollectionViewCell 的后台线程快照 = WebCore 崩溃

iphone - UIScrollView 和 CALayers

ios - 删除 DerivedData 文件夹后,单元测试无法编译,出现 'Apple Mach-O Linker' 错误

ios - AWSCognito 忘记密码不适用于未经验证的手机号码 iOS