gpt4 book ai didi

ios - 无法在 swift WebView 中加载/滚动完整 pdf。

转载 作者:行者123 更新时间:2023-11-30 13:34:41 24 4
gpt4 key购买 nike

我正在尝试使用 swift 使用 Web View 加载 pdf。它只能加载 pdf 的一页,不能向下滚动超过一页。我能做什么?

导入UIKit

类ViewController:UIViewController,UIWebViewDelegate {

@IBOutlet var webViews: UIWebView!

var path = ""

override func viewDidLoad() {
super.viewDidLoad()

path = NSBundle.mainBundle().pathForResource("ibook", ofType: "pdf")!
let url = NSURL.fileURLWithPath(path)

/*webViews.scalesPageToFit = true
webViews.scrollView.scrollEnabled = true
webViews.userInteractionEnabled = true*/

webViews.delegate = self

self.webViews.loadRequest(NSURLRequest(URL: url!
))
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()

}


func webViewDidStartLoad(webView : UIWebView) {
//UIApplication.sharedApplication().networkActivityIndicatorVisible = true
println("webViewDidStartLoad")
}

func webViewDidFinishLoad(webView : UIWebView) {
//UIApplication.sharedApplication().networkActivityIndicatorVisible = [enter image description here][1]false
webViews.scalesPageToFit = true
webViews.scrollView.scrollEnabled = true
webViews.userInteractionEnabled = true
println("webViewDidFinishLoad")
}

}

最佳答案

我在尝试显示外部 pdf(不是捆绑的 pdf)时遇到了类似的问题,但我想您可以使用相同的修复程序。

在您的webViewDidFinishLoad中,检查该网址是否实际上是一个 pdf 网址。因为就我而言,我知道我的期望是什么,所以我使用了简单的愚蠢检查。如果 url 链接到 pdf,您需要重新加载 Web View 才能正确显示它,从而能够滚动。

这是 Objective C 中的一些简化代码。它在 Swift 中应该非常相似。尝试这样的事情:

- (void)webViewDidFinishLoad:(UIWebView *)webView {
static BOOL isPdfReloaded = NO;

if (!isPdfReloaded && [webView.request.URL.absoluteString containsString:@".pdf"])
{
[webView reload];
isPdfReloaded = YES;
}
else
{
isPdfReloaded = NO;
}
}

关于ios - 无法在 swift WebView 中加载/滚动完整 pdf。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36215607/

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