2016-03-31 22 views
0

Uygulamamda WebView'e html dizesi yüklüyorum. Şu anki sorun, WebView'im başka bir bağlantı içeren içerik yüklediğinde ve kullanıcı bu bağlantıyı tıkladığında, uygulamanızda yeni görünüm açılmıyor olmasıdır - varsayılan tarayıcıda açılır. Bu bağlantıyı WebView'de nasıl açabilirim? İşte benim kodudur:Web görünümünde webview içinde açık bağlantı nasıl olursa olsun (hızlı)

override func viewDidLoad() { 
    super.viewDidLoad() 

    self.edgesForExtendedLayout = UIRectEdge.None 
    SVProgressHUD.show() 
    //EZLoadingActivity.show("أرجو الإنتظار", disableUI: true) 
    self.automaticallyAdjustsScrollViewInsets = false 
    self.navigationController!.navigationBar.tintColor = UIColor.whiteColor() 
    self.navigationController!.navigationBar.barStyle = UIBarStyle.Black 
    self.navigationController!.navigationBar.tintColor = UIColor.whiteColor() 

    let logo = UIImage(named: "toolbar_icon3") 
    let imageView = UIImageView(image:logo) 
    self.navigationItem.titleView = imageView 

    myweb.loadHTMLString(webviewurl, baseURL: nil) 
} 

Android ile yapmak için izin verir:

public boolean shouldOverrideUrlLoading(WebView view, String url) 

Ama bunu nasıl iOS'ta

?

+0

ziyaret Onlar olmalı 'shouldStartLoadWithRequest' seçeneğini geçersiz kılmadığınız sürece varsayılan olarak web görünümünde açılacaktır. Lütfen "bazen" durumunuz için bazı örnek linkler sağlayın – zcui93

cevap

0

Sizin için bir URL isteği oluşturmayı deneyebilirsiniz UIWebView. Eğer web görünümü açılırken bir şey yapmak istiyorsanız

yourWebView.loadRequest(NSURLRequest(URL: NSURL(string: "google.ca")!)) 

, sen UIWebViewDelegate deyimini kullanabilirsiniz.

senin sınıfında

: Sonra

class ViewController: UIViewController, UIWebViewDelegate { 

,

yourWebView.delegate = self 

Ve nihayet, şunları kullanabilirsiniz:

func webViewDidStartLoad(webView: UIWebView) { 
    //do something while the web view is loading! 
} 

UIWebViewDelegate hakkında daha fazla bilgi için, Apple's Documentation.