Ich versuche, Links von meinem lokalen HTML zu öffnen, aber ich weiß nicht, was in meinem Code falsch ist. Ich habe UIWebViewDelegate zur Klasse und den Delegaten zur View hinzugefügt.offene Links in Safari nicht uiwebview
class TableWebViewController: UIViewController, UIWebViewDelegate {
@IBOutlet weak var infoWebView: UIWebView!
var htmlName:String!
override func viewDidLoad() {
super.viewDidLoad()
self.infoWebView.delegate = self
self.loadHtmltoWebview(htmlName)
self.infoWebView.backgroundColor = UIColor.whiteColor()
self.infoWebView.opaque = false
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func loadHtmltoWebview(name: String) {
let htmlFile = NSBundle.mainBundle().pathForResource(name, ofType: "html")
let url = NSURL(string: htmlFile!)
let request = NSURLRequest(URL: url!)
infoWebView.loadRequest(request)
}
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
if navigationType == UIWebViewNavigationType.LinkClicked {
//UIApplication.sharedApplication().openURL(request.URL!)
print(request.URL)
return false
}
return true
}
kann mir jemand helfen? Vielen Dank!
bearbeiten: print (request.URL) in der Ausgabe gezeigt, so springt er in die Funktion, sondern Safari nicht öffnen
Ich habe Ihren Code in Xcode kopiert und eingefügt und es gibt kein Problem. Welches Problem haben Sie? Jede Nachricht im Protokoll? – chengsam
'UIApplication.sharedApplication(). OpenURL (request.URL!)' Wird nicht ausgeführt, weil Sie einen Kommentar eingegeben haben. Oder ist das beabsichtigt? – FelixSFD
Ich habe es aus Testgründen in einen Kommentar geschrieben. Nichts passiert, wenn man auf den Link klickt, damit openURL nicht ausgeführt wird – dtothepipo