ios - 如果链接出现在 webview 中,如何在 webview 中打开链接(swift)

标签 ios swift url webview ios9

我正在我的应用程序中通过 WebView 加载 html 字符串。当前的问题是,当我的 WebView 加载包含另一个链接的内容时,并且当用户单击该链接时,新 View 不会在我的应用程序中打开 - 它会在默认浏览器中打开。如何在 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 上我们如何才能做到这一点?

最佳答案

您可以尝试为您的 UIWebView 创建一个 url 请求。

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

如果您想在 Web View 打开时执行某些操作,可以使用 UIWebViewDelegate 语句。

在你的类(class):

class ViewController: UIViewController, UIWebViewDelegate {

那么,

yourWebView.delegate = self

最后,您可以使用:

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

有关 UIWebViewDelegate 的更多信息,请访问 Apple's Documentation.

关于ios - 如果链接出现在 webview 中,如何在 webview 中打开链接(swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36333230/

相关文章:

ios - UITableView Swift 3.0 底部刷新控件的创建方法

ios - UIColor 不适用于 RGBA 值

objective-c - URL GET/POST 请求 objective-c

url - EmberJS 和 URL 结构问题

ios - 如何水平翻转图片保存翻转到相册?

iphone - Obj-C,货币值(value)与可用数量,发行

ios - 如何为 MIDI 事件准确设置时间戳?

ios - 使用 NSPersistentCloudKitContainer 同步旧数据

ios - Swift NSMutableAttributedString 导致在事务中调用 +[CATransaction synchronize]

url - htaccess 301 重定向某些 URL 模式