网站加载时显示 activity 指示器
Show activity indicator while website is loading
我正在寻找 ios 8 swift 2 解决方案,用于在我的网站在后台加载时显示 activity 指示器。
目前,我有这个代码:
override func viewDidLoad() {
super.viewDidLoad()
var url = "http://www.google.de"
let requestURL = NSURL(string:url)
let request = NSURLRequest(URL: requestURL!)
webView.loadRequest(request) }
问题是,在加载网站时,视图控件一直是白色的。我希望你能帮助我:)
您需要向控制器的视图添加一个 activity 指示器。查看本教程:http://www.ioscreator.com/tutorials/activity-indicator-tutorial-ios8-swift
将 Activity Indicator View 拖到 ViewController class 并在此行之后添加以下代码 // webView.loadRequest(request) // 或者哪一行加载 url.
activityIndicatorView.startAnimating()
停止动画使用
activityIndicatorView.stopAnimating()
您还可以使用停止和开始按钮或任何其他操作。
您可以使用 MBProgressHUD library for loading indicator in swift, also you can check How to use MBProgressHUD with swift 如果它适合您的情况。
如果你愿意,请参考这个答案
无论如何都在这里(以防被删除)
在Swift5中测试,您可以使用以下简单扩展:
// Activity Indicator Extension
var vSpinner : [UIView] = []
extension UIViewController {
func showSpinner(onView : UIView) {
let spinnerView = UIView.init(frame: onView.bounds)
// spinnerView.backgroundColor = UIColor.init(red: 0.8, green: 0.8, blue: 0.8, alpha: 0.9)
let ai = UIActivityIndicatorView.init(style: .medium)
ai.startAnimating()
ai.center = spinnerView.center
DispatchQueue.main.async {
spinnerView.addSubview(ai)
onView.addSubview(spinnerView)
}
vSpinner.append(spinnerView)
}
func removeSpinner() {
DispatchQueue.main.async {
vSpinner.popLast()?.removeFromSuperview()
}
}
}
在你的异步任务中使用这两个得心应手的男孩:
showSpinner(onView: self.view)
记得把self.view替换成你想要的任何一种视图
self.removeSpinner()
删除加载指示器:
我正在寻找 ios 8 swift 2 解决方案,用于在我的网站在后台加载时显示 activity 指示器。
目前,我有这个代码:
override func viewDidLoad() {
super.viewDidLoad()
var url = "http://www.google.de"
let requestURL = NSURL(string:url)
let request = NSURLRequest(URL: requestURL!)
webView.loadRequest(request) }
问题是,在加载网站时,视图控件一直是白色的。我希望你能帮助我:)
您需要向控制器的视图添加一个 activity 指示器。查看本教程:http://www.ioscreator.com/tutorials/activity-indicator-tutorial-ios8-swift
将 Activity Indicator View 拖到 ViewController class 并在此行之后添加以下代码 // webView.loadRequest(request) // 或者哪一行加载 url.
activityIndicatorView.startAnimating()
停止动画使用
activityIndicatorView.stopAnimating()
您还可以使用停止和开始按钮或任何其他操作。
您可以使用 MBProgressHUD library for loading indicator in swift, also you can check How to use MBProgressHUD with swift 如果它适合您的情况。
如果你愿意,请参考这个答案
无论如何都在这里(以防被删除)
在Swift5中测试,您可以使用以下简单扩展:
// Activity Indicator Extension
var vSpinner : [UIView] = []
extension UIViewController {
func showSpinner(onView : UIView) {
let spinnerView = UIView.init(frame: onView.bounds)
// spinnerView.backgroundColor = UIColor.init(red: 0.8, green: 0.8, blue: 0.8, alpha: 0.9)
let ai = UIActivityIndicatorView.init(style: .medium)
ai.startAnimating()
ai.center = spinnerView.center
DispatchQueue.main.async {
spinnerView.addSubview(ai)
onView.addSubview(spinnerView)
}
vSpinner.append(spinnerView)
}
func removeSpinner() {
DispatchQueue.main.async {
vSpinner.popLast()?.removeFromSuperview()
}
}
}
在你的异步任务中使用这两个得心应手的男孩:
showSpinner(onView: self.view)
记得把self.view替换成你想要的任何一种视图
self.removeSpinner()
删除加载指示器: