首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试用PDF加载Webview,从Parse接收链接

尝试用PDF加载Webview,从Parse接收链接
EN

Stack Overflow用户
提问于 2015-05-04 22:37:09
回答 1查看 188关注 0票数 0

我试图加载一个午餐菜单PDF到一个我正在更新的高中应用程序的网页视图。目前,它可以将PDF加载到web视图中并显示得很好,但我希望通过让我的应用程序通过Parse接收链接来加快每月的更新过程(这比用Apple的7天回顾期更新应用程序本身的链接要快得多),然后加载PDF。目前,与我已经放在一起,我的应用程序不会加载PDF。以下是整个视图:

代码语言:javascript
复制
import UIKit

class AlaCarte_ViewController: UIViewController {
@IBOutlet weak var webviewAlaCarte: UIWebView!

var urlpath = String()

func loadAddressUrl(){


    let requestURL = NSURL (string:urlpath)
    let request = NSURLRequest(URL: requestURL!)
    webviewAlaCarte.loadRequest(request)

    alaCarteUpdate()

}

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    clearPDFBackground(self.webviewAlaCarte)



}

func clearPDFBackground(webView: UIWebView) {
    var view :UIView?
    view = webView as UIView

    while view != nil {
        if NSStringFromClass(view?.dynamicType) == "UIWebPDFView" {
            view?.backgroundColor = UIColor.clearColor()

        }

        view = view?.subviews.first as! UIView?

    }
}

func alaCarteUpdate() {
    var query = PFQuery(className: "AlaCarte")
    query.getObjectInBackgroundWithId("rT7MpEFySU") {(AlaCarte: PFObject!, error: NSError!)-> Void in
        if error == nil && AlaCarte != nil {
            println(AlaCarte)
        } else {
            println(error)
        }

        let AlaCarteLink = AlaCarte["webaddress"] as! String

        self.urlpath = AlaCarteLink

    }
}

override func viewDidLoad() {
    super.viewDidLoad()

    loadAddressUrl()


}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


/*
// MARK: - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    // Get the new view controller using segue.destinationViewController.
    // Pass the selected object to the new view controller.
}
*/

}

该链接存储在我的分析应用程序作为“网站地址”,不包含最终报价。添加它们没有帮助。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-05 01:02:49

在我看来,一旦从Parse检索到URL,您就不会告诉web视图加载URL。

尝试在self.urlpath = AlaCarteLink之后添加alaCarteUpdate()中的以下行。

代码语言:javascript
复制
let requestURL = NSURL (string:self.urlpath)
let request = NSURLRequest(URL: requestURL!)
self.webviewAlaCarte.loadRequest(request)

我认为添加一个函数,专门将url字符串加载到您的web视图中也是一个好主意,这样您就可以在alaCarteUpdate()loadAddressUrl()中调用它,并避免重复的3x行。我假设您在loadAddressURL()中加载URL,以便在从Parse检索最新的文件时显示本地/缓存的文档。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30041187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档