gpt4 book ai didi

objective-c - 带水平滚动的 PDF View

转载 作者:行者123 更新时间:2023-11-28 17:36:30 25 4
gpt4 key购买 nike

我想获得有关如何实现水平滚动的 PDF View 的一些提示。

我知道如何使用 UIWebView 实现 PDF 阅读器,但只是垂直滚动。

最佳答案

我已经做到了。代码是付费客户私有(private)的,所以我不能直接分享,但基本思路是这样写:

  • 一个呈现 PDF 单页的 UIView 子类,使用 CGPDFPageRefCGPDFDocument*CGContextDrawPDFPage 系列功能。从 layerClass 类方法返回 [CATiledLayer class] 并适本地设置图层的 levelsOfDetail 和 tileSize 属性对这个 View 有很大帮助。我的还实现了 sizeThatFits 以返回页面大小加上一个小间距,并在 pdf 页面的边缘周围呈现一个微妙的阴影。

    请记住,UIKit 绘图与 CG 绘图是颠倒的; CGContextTranslateCTM(ctx, 0.0, layer.bounds.size.height); 也是如此CGContextScaleCTM(ctx, 1.0, -1.0); 绘画前。

  • 一个 UIView 子类包含和布局(并被委托(delegate))一个处于分页模式的 UIScrollView(主水平分页器),每个页面都有一个单独的 UIScrollView,每个包含上述 View 之一(用于放大单个页面。)嵌套 ScrollView 是 Apple 明确认可的执行此类操作的方式。这个 View 需要按照你想要的方式布置页面;大概在一个长的水平 strip 中,每个都缩放到合适的尺寸。

    如果不需要页面缩放,可以跳过嵌套 ScrollView ,直接在水平滚动条中布局页面 View 。

TL;DR:不幸的是,它不像在 UIWebView 中扔它那么简单;但这是可行的,而且直接的方法确实有效。

关于objective-c - 带水平滚动的 PDF View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9666100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com