您的位置:首页 > 移动开发 > Swift

swift 中跳转WKWebView,链接含有汉字的写法

2016-09-22 17:27 288 查看
import UIKit

class HighSpeedRoadVC:
UIViewController,WKNavigationDelegate,UIScrollViewDelegate {

    

    var webView :
WKWebView = WKWebView()

//    var web : UIWebView = UIWebView()

    

    override
func viewWillAppear(animated:
Bool) {

        

        super.viewWillAppear(animated)

        

        self.navigationController?.navigationBar.hidden
= false

        

    }

    

    override
func viewWillDisappear(animated:
Bool) {

        

        super.viewWillDisappear(animated)

        

        self.webView.scrollView.delegate
= nil

        

    }

    

    override
func viewDidLoad() {

        

        super.viewDidLoad()

        

        self.title =
"河南高速路况
122d6
"

        

        var webview :
WKWebView = WKWebView.init(frame:
CGRectMake(0,
0, SCREEN_WIDTH,
SCREEN_HEIGHT))

        

        webview.navigationDelegate =
self

        

        webview.scrollView.delegate =
self

        

        self.view.addSubview(webview)

        

        let baseUrl =
"https://m.weibo.cn/k/"

        

        let str =
"河南高速路况?from=feed"

        

        let utf8Str = str.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())

        

        let url =
NSURL(string: baseUrl + utf8Str!)

        

        let request =
NSURLRequest(URL: url!)

        

        webview.loadRequest(request)

        

        self.webView = webview

        

        // 打开左划回退功能:

        self.webView.allowsBackForwardNavigationGestures
= true

        

    }

    

    

    func webView(webView:
WKWebView, didFinishNavigation navigation:
WKNavigation!) {

        

        NSUserDefaults.standardUserDefaults().setInteger(0,
forKey: "WebKitCacheModelPreferenceKey")

        

        NSUserDefaults.standardUserDefaults().setBool(false,
forKey: "WebKitDiskImageCacheEnabled")

        

        NSUserDefaults.standardUserDefaults().setBool(false,
forKey: "WebKitOfflineWebApplicationCacheEnabled")

        

        NSUserDefaults.standardUserDefaults().synchronize()

        

        

    }

    

    func scrollViewDidScroll(scrollView:
UIScrollView) {

        

        if (scrollView.contentOffset.y >
100) {

            

            self.navigationItem.title =
"河南高速路况"

            

        } else {

            

            self.navigationItem.title =
"河南高速路况"

        }

        

        

    }

    

   
//加载错误时走的方法

    func webView(webView:
WKWebView, didFailNavigation navigation:
WKNavigation!, withError error:
NSError) {

        

        

        print("error:\(error)")

        

    }

//    func webViewDidFinishLoad(webView: UIWebView) {

//        

//        let url : String = (webView.request?.URL?.absoluteString)!

//        

//        let inpuStr : NSMutableString = NSMutableString.init(string: url)

//        

//        inpuStr.replaceOccurrencesOfString("+", withString: " ", options: .LiteralSearch, range: NSMakeRange(0, inpuStr.length))

//        

//        let sURL : String = inpuStr.stringByReplacingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!

//        

//        

//    }

//

    

    

    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.

     }

     */

    

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: