尝试使用 PDF 加载 Webview,从 Parse 接收链接
Posted
技术标签:
【中文标题】尝试使用 PDF 加载 Webview,从 Parse 接收链接【英文标题】:Attempting to load Webview with PDF, receiving link from Parse 【发布时间】:2015-05-04 22:37:09 【问题描述】:我正在尝试将午餐菜单 PDF 加载到我正在更新的高中应用程序的 Web 视图中。目前,它可以将 PDF 加载到 Web 视图中并很好地显示它,但我想通过让我的应用程序通过 Parse 接收链接来加快每月更新过程(我可以比更新应用程序中的链接更快地更新本身具有 Apple 的 7 天审查期),然后加载 PDF。目前,根据我整理的内容,我的应用程序不会加载 PDF。这是整个视图:
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.
*/
该链接作为“网址”存储在我的 Parse 应用程序中,并且不包含结束引号。添加它们没有帮助。有什么想法吗?
【问题讨论】:
【参考方案1】:在我看来,一旦从 Parse 检索到 URL,您并没有告诉 Web 视图加载 URL。
尝试在alaCarteUpdate()
中的self.urlpath = AlaCarteLink
之后添加以下行。
let requestURL = NSURL (string:self.urlpath)
let request = NSURLRequest(URL: requestURL!)
self.webviewAlaCarte.loadRequest(request)
我认为添加一个专门将 url 字符串加载到 web 视图中的函数也是一个好主意,这样你就可以从 alaCarteUpdate()
和 loadAddressUrl()
内部调用它,并避免重复的 3x 行.我假设您正在加载 loadAddressURL()
中的 URL,以便您可以在从 Parse 检索最新文档时显示本地/缓存文档。
【讨论】:
非常感谢!它工作得很好——不过我绝对可以把它清理一下。以上是关于尝试使用 PDF 加载 Webview,从 Parse 接收链接的主要内容,如果未能解决你的问题,请参考以下文章
加载时在webview中显示白页(PDF url)url android