我有集合视图,用户可以在Web视图中下载和查看PDF文件。我的应用程序是横向的,所以垂直滚动感觉很奇怪,所以我想让滚动水平。在Web视图中可以吗?或者我必须使用scrollview代替?在swift。
我正在使用alamofire下载和我的目的地:
let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
let fileURL = documentsURL.URLByAppendingPathComponent("\(magazineObject.title).pdf")
return fileURL
}
这是我查看pdf
的代码class RedirectMagazineViewController: UIViewController {
@IBOutlet weak var webView: UIWebView!
@IBOutlet weak var activityIndicator: UIActivityIndicatorView!
var receiveData: NSURL!
var receiveTitle: String = ""
override func viewDidLoad() {
super.viewDidLoad()
print("receiveData 2ndVC =>\(receiveData)")
self.navigationController?.navigationBarHidden = false
self.title = receiveTitle
let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0]
let filePath = "\(documentsPath)/\(receiveTitle).pdf"
let url = NSURL(fileURLWithPath: filePath)
let urlRequest = NSURLRequest(URL: url)
webView.loadRequest(urlRequest)
activityIndicator.startAnimating()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
答案 0 :(得分:0)
只要您不设计支持水平方式的pdf文件,PDF文件本身就是一组页面,您无法水平滚动pdf文件。在UIWebView, Chrome, Safari, Preview, FireFox, Windows 8 Reader
等等中显示pdf较少。
答案 1 :(得分:0)
UIWebView在显示PDF时允许您自定义的内容非常有限。启用垂直滚动指示器不会改变任何内容。
切换到垂直滚动的唯一方法是从{0}开始一直从头开始 - 请参阅Apple's documentation for a start
有各种open source和commercial PDF SDK可用来解决这个问题,因为即使只是复制UIWebView的功能也是一个非常难的问题。单单选择文字真的很难。自2010年以来,我一直在PSPDFKit工作,7年后我们仍在努力。
Apple's ZoomingPDFViewer是一个很好的介绍,如果你愿意花几个月的时间来自己构建它。
答案 2 :(得分:0)
Apple在iOS 11中使用PDFKit解决了该问题。
可以找到一个很好的介绍here
import PDFKit
@IBOutlet var pdfView: PDFView!
if let pdfDocument = PDFDocument(url: url) {
pdfView.displayMode = .singlePageContinuous
pdfView.autoScales = true
pdfView.displayDirection = .horizontal
pdfView.document = pdfDocument
}