如何通过webView中的按钮单击呈现ViewController?斯威夫特/ Xcode中

时间:2017-01-16 14:34:49

标签: swift webview io

这是我的Swift

     func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {

    if (navigationType == UIWebViewNavigationType.formSubmitted) {
        let VC = self.storyboard?.instantiateViewController(withIdentifier: "UITabBarController") as? UITabBarController

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


    }
    return true
}

这是我在webView中加载的HTML文件

<html>
<head>
<script>
function myFunction()
{
presentViewController('UITabBarController');
}
</script>
</head>
<body>
<input name="myFunction" type="submit" onClick="myFunction"     value="myFunction">
</body>
</html>

这只是不起作用,有什么建议吗? 我不介意它是否是链接而不是按钮。

它是viewView内部的webView,单击链接/按钮后,它将显示一个带有tabbar的下一个viewcontroller。

1 个答案:

答案 0 :(得分:1)

您是否尝试过打开链接?您应该收到 func webView(UIWebView,shouldStartLoadWith:URLRequest,navigationType:UIWebViewNavigationType)委托回调。在这里,您应该检查链接是否是触发视图控制器打开的链接。如果是特殊链接,您将打开viewController并返回false。否则返回true。