【发布时间】:2017-09-15 07:37:31
【问题描述】:
我正在使用这个库https://github.com/ninjaprox/NVActivityIndicatorView 来显示加载指示器。默认情况下,它会阻止整个视图控制器,但我如何才能仅显示特定视图的活动指示器。例如,如果一个视图控制器包含一个 webview 和一些其他视图,则活动指示器应该仅用于 webview,并且我应该能够与其他视图交互。
class FaqViewController: UIViewController, UIWebViewDelegate
{
@IBOutlet var faqWebView: UIWebView!
static let activityData = ActivityData()
var activityIndicator : NVActivityIndicatorView!
override func viewDidLoad()
{
super.viewDidLoad()
faqWebView.delegate = self
faqWebView.loadRequest(URLRequest(url: URL(string: "https://www.google.com")!))
}
func webViewDidStartLoad(_ webView: UIWebView)
{
NVActivityIndicatorView.DEFAULT_BLOCKER_SIZE = CGSize(width: 45, height: 45)
NVActivityIndicatorPresenter.sharedInstance.startAnimating(FaqViewController.activityData)
}
func webViewDidFinishLoad(_ webView: UIWebView)
{
NVActivityIndicatorPresenter.sharedInstance.stopAnimating()
}
}
【问题讨论】:
-
你的
UIWebView框架是什么 -
现在它填满了整个视图。但是我想在任何时候与导航控制器交互,即使页面正在加载,也可以返回。
-
使用
let x = self.view.center.x let y = self.view.center.y let frame = CGRect(x: (x - 50), y: (y - 50), width: 100, height: 100) NVActivityIndicatorView(frame: frame)更改NVActivityIndicatorView的框架 -
我试过了,但现在加载指示器本身没有显示。
-
检查更新的答案
标签: ios swift swift3 uiwebview uiactivityindicatorview