0
私は自分のローカルHTMLからリンクを開こうとしますが、私のコードで何が間違っているのか分かりません。 UIWebViewDelegateをクラスに追加し、デリゲートをビューに追加しました。サファリでリンクを開きません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
}
誰でも私を助けることができますか?ありがとう!
編集:プリント(request.URL)が出力に示されているので、彼は関数にジャンプしますが、Safariは
コードをコピーしてXcodeに貼り付けても問題ありません。あなたはどんな問題に直面していますか?ログにはどのようなメッセージがありますか? – chengsam
'UIApplication.sharedApplication()。openURL(request.URL!)'はあなたがコメントを書いたので実行されません。それともこれは意図されていますか? – FelixSFD
テストの理由からコメントに入れました。 jaがリンクをクリックしてもopenURLは実行されない場合は何も起こりません – dtothepipo