【问题标题】:WebView not loading after setting webview delegate设置 webview 委托后 WebView 未加载
【发布时间】:2017-08-09 12:13:59
【问题描述】:
class SSOViewController: UIViewController, UIWebViewDelegate
{

@IBOutlet weak var ssoWebView: UIWebView!
var activityData : ActivityData!

var ssoUrl: String!

override func viewDidLoad()
{
    super.viewDidLoad()
    activityData = ActivityData()
    ssoWebView.delegate = self
    ssoWebView.loadRequest(URLRequest(url: URL(string: ssoUrl)!) )
}

override func didReceiveMemoryWarning()
{
    super.didReceiveMemoryWarning()
}

func webViewDidStartLoad(_ webView: UIWebView)
{
    NVActivityIndicatorView.DEFAULT_BLOCKER_SIZE = CGSize(width: 45, height: 45)
    NVActivityIndicatorPresenter.sharedInstance.startAnimating(activityData)
}

func webViewDidFinishLoad(_ webView: UIWebView)
{
    //NVActivityIndicatorPresenter.sharedInstance.stopAnimating()
}

func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool
{
    print(request.mainDocumentURL ?? "no url")
    return false
}

}

这就是我将内容加载到 webview 中所做的,在 webViewDidStartLoad 方法和 webViewDidFinishLoad 方法中刚刚添加了活动指示器。这两种方法也没有启动。

【问题讨论】:

  • 确保是否调用了 didfail 错误
  • ssoUrl -- 确保它是否包含数据
  • 并在您的应用中添加 NSTransportsecurity 后检查
  • SSOURL 包含数据
  • 可以打印一次吗ssoUrl

标签: ios swift uiwebview


【解决方案1】:

检查 info.plist 中的传输安全性

  1. 打开 info.plist 文件

  2. 将名为 NSAppTransportSecurity 的密钥添加为字典

  3. 将名为 NSAllowsArbitraryLoads 的子项添加为布尔值并将其值设置为 YES

【讨论】:

    猜你喜欢
    • 2016-12-11
    • 1970-01-01
    • 2015-05-22
    • 1970-01-01
    • 2014-06-16
    • 1970-01-01
    • 2019-10-31
    • 1970-01-01
    • 2013-04-18
    相关资源
    最近更新 更多