如何使用 swift 在 WKWebView 的页面中间显示活动指示器?
Posted
技术标签:
【中文标题】如何使用 swift 在 WKWebView 的页面中间显示活动指示器?【英文标题】:How to display activity indicator in the middle of the page of a WKWebView using swift? 【发布时间】:2016-06-02 14:16:25 【问题描述】:我在 ios 应用程序中使用 WKWebView,并且设法使活动指示器出现在状态栏的左上角。如何将其显示在屏幕中间?
这是我正在使用的以下代码:
@IBOutlet var containerView : UIView! = nil
var webView: WKWebView?
override func loadView()
super.loadView()
self.webView = WKWebView()
self.view = self.webView!
override func viewDidLoad()
super.viewDidLoad()
let url = NSURL(string:"https://www.example_link.com/")
let req = NSURLRequest(URL:url!)
self.webView!.loadRequest(req)
webView!.navigationDelegate = self
override func didReceiveMemoryWarning()
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
func webView(webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!)
UIApplication.sharedApplication().networkActivityIndicatorVisible = true
func webView(webView: WKWebView, didFinishNavigation navigation: WKNavigation!)
UIApplication.sharedApplication().networkActivityIndicatorVisible = false
【问题讨论】:
使用情节提要中的UIActivityIndicatorView
,将其放在中间并有一些约束(垂直/水平居中)。然后将其依赖于您的UIViewController
,然后您可以在 webView 中加载请求时显示/隐藏它。
Using UIActivityIndicatorView with UIWebView in Swift的可能重复
【参考方案1】:
不,你不能。 NetworkActivityIndicator 是状态栏的一部分,它的位置不能改变。您可以做的是创建一个UIActivityIndicatorView
并将其放置在您想要的任何位置,就像放置其他视图一样。
【讨论】:
我试过用 UIActivityIndicatorView 来做,但它不起作用。以上是关于如何使用 swift 在 WKWebView 的页面中间显示活动指示器?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 4 中从 WKWebView 获取 cookie 值?
如何在 Swift 3 的 WKWebView 中注入 javascript