2016-08-09 10 views
2

は私がのUIWebViewを持っており、WebViewのは簡単なボタンのUIWebViewでボタンをクリックして迅速

が含まれており、ここに私の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); 
    } 
} 

、完全に私のHTMLを表示するのWebViewを

私のHTMLファイルのボタンをクリックすると、iOSプロジェクトからnewViewControllerを表示するだけでいいですか?そのような

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

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

} 



</script> 

iOSの中でそれをする方法はありますか?

答えて

2

はいあなたはこのようにそれを行うことができます。

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

ありがとうございました – Muhammed

+0

ありがとうございます: –

+0

私のxcodeエラー:宣言されていないtyの使用pe 'myViewControllerName' – superquanganh

5

あなたはJSアクションでスキーム割り当てることができます。

window.location = yourscheme://<scheme_content> 

をし、迅速な層にコールバックを使用することができます。

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