swift2 加载网站时显示活动指示器

ezykj2lf  于 2022-11-06  发布在  Swift
关注(0)|答案(4)|浏览(214)

我搜索一个ios 8 swift 2解决方案,用于在我的网站在后台加载时显示活动指示器。
目前,我有这样的代码:

override func viewDidLoad() {
    super.viewDidLoad()
    var url = "http://www.google.de"
    let requestURL = NSURL(string:url)
    let request = NSURLRequest(URL: requestURL!)
    webView.loadRequest(request) }

问题是,视图控制器在webseite加载时一直是白色的。我希望你能帮助我:)

66bbxpm5

66bbxpm51#

将Activity Indicator View拖到ViewController类中,然后在//webView.loadRequest(request)/这一行或加载url的任何一行之后添加以下代码。

活动指示器视图. start动画()

若要停止动画,请使用

活动指示器视图停止动画()

您也可以使用停止和启动按钮或任何其他操作。

wlzqhblo

wlzqhblo2#

您需要在控制器视图中添加一个活动指示器。请查看以下教程:http://www.ioscreator.com/tutorials/activity-indicator-tutorial-ios8-swift

cyvaqqii

cyvaqqii3#

您可以使用MBProgressHUD库在swift中加载指标,也可以检查How to use MBProgressHUD with swift是否在您情况下工作。

czfnxgou

czfnxgou4#

如果您愿意,请参考此答案
https://stackoverflow.com/a/65136127/2131039

这里是无论如何(只是以防万一,如果它被删除)

在Swift 5中测试后,您可以使用以下简单扩展:

// 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()拆除装载指示器:

相关问题