2016-08-09 71 views
2

Ich habe eine App, die UIWebView hat und die Webview enthält einfache KnopfOpening Viewcontroller, wenn Klick auf den Button in UIWebView schnellen

und hier ist mein WebViewController:

import UIKit 

class testViewController: UIViewController { 
    internal static var testID = 0 

    @IBOutlet weak var myWebView: UIWebView! 
    override func viewDidLoad() { 
     super.viewDidLoad() 

    } 

    override func viewDidAppear(animated: Bool) { 
     super.viewDidAppear(animated) 

     let url = NSURL (string: "http://mydomainname/index.html"); 
     let requestObj = NSURLRequest(URL: url!); 
     myWebView.loadRequest(requestObj); 
    } 
} 

Und die webView mein HTML Anzeigen perfekt

Ich muss nur einen neuenViewController aus meinem iOS-Projekt präsentieren, wenn ich auf den Button in meiner HTML-Datei klicke?

wie folgt aus:

<button onclick="myFunction()> Submit </button> 

<script> 
function myFunction() 
{ 
presentViewController('myViewControllerName'); 

} 



</script> 

ist es eine Möglichkeit, dass in iOS zu tun?

Antwort

2

Ja, Sie können das tun, wie folgt:

func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool { 
         
        if (navigationType == UIWebViewNavigationType.FormSubmitted) { 
      let VC = self.storyboard?.instantiateViewControllerWithIdentifier("myViewControllerName") as? myViewControllerName 

      let navigationController = UINavigationController(rootViewController: VC!) 
      self.navigationController?.presentViewController(navigationController, animated: true, completion:nil) 

     
        } 
        return true 
    } 
+0

Danke für mich gearbeitet – Muhammed

+0

danke für die Annahme der Antwort :) –

+0

Mein xcode-Fehler: Verwendung von nicht deklarierten ty pe 'myViewControllerName' – superquanganh

5

Sie ein Schema in der js Aktion zuordnen können:

window.location = yourscheme://<scheme_content> 

und in schnellen Schicht können Sie den Rückruf verwenden:

func webView(webView: UIWebView!, shouldStartLoadWithRequest request: NSURLRequest!, navigationType: UIWebViewNavigationType) -> Bool { 
    if (request.URL.scheme == "yourscheme") { 
     // Your code 
    } 
    return true; 
}