如果它进入webview(swift),如何在webview中打开链接
Posted
技术标签:
【中文标题】如果它进入webview(swift),如何在webview中打开链接【英文标题】:how o open link within webview if its come in webview(swift) 【发布时间】:2016-03-31 12:16:06 【问题描述】:我在我的应用程序中通过 WebView 加载 html 字符串。当前的问题是,当我的 WebView 加载包含另一个链接的内容并且当用户单击该链接时,新视图未在我的应用程序中打开 - 它在默认浏览器中打开。如何在 WebView 中打开该链接?这是我的代码:
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 允许这样做:
public boolean shouldOverrideUrlLoading(WebView view, String url)
但是在 ios 上我们怎么能做到这一点呢?
【问题讨论】:
它们应该默认在 webview 中打开,除非您覆盖shouldStartLoadWithRequest
。请为您的“有时”案例提供一些示例链接
【参考方案1】:
您可以尝试为您创建一个网址请求UIWebView
。
yourWebView.loadRequest(NSURLRequest(URL: NSURL(string: "google.ca")!))
如果您想在 Web 视图打开时执行某些操作,可以使用 UIWebViewDelegate
语句。
在你的课堂上:
class ViewController: UIViewController, UIWebViewDelegate
那么,
yourWebView.delegate = self
最后,您可以使用:
func webViewDidStartLoad(webView: UIWebView)
//do something while the web view is loading!
有关 UIWebViewDelegate 的更多信息,请访问Apple's Documentation.
【讨论】:
以上是关于如果它进入webview(swift),如何在webview中打开链接的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 上将 HTML 代码加载到 WebView
Swift Playground WebView 不会显示本地图像