如何在UIActivityIndi​​catorView后面添加黑色背景

时间:2016-03-30 06:48:51

标签: ios swift uiactivityindicatorview

您好我想在我的UIActivityIndicatorView上显示UIViewController,就像这样

enter image description here

如何在上面的图像中绘制一个UIViewIndicator

我试过这个

func showIndicatorView(){

        let loadingIndicator = UIActivityIndicatorView(frame: CGRectMake(0, 0, 50, 50))
        loadingIndicator.layer.cornerRadius = 05

        loadingIndicator.opaque = false
        loadingIndicator.backgroundColor = UIColor(white: 0.0, alpha: 0.6)
        loadingIndicator.center = self.view.center;
        loadingIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray
        loadingIndicator.color = UIColor.whiteColor()
        loadingIndicator.startAnimating()
        self.view.addSubview(loadingIndicator)


    }

2 个答案:

答案 0 :(得分:2)

您可以将其放在具有黑色背景颜色的另一个视图中。像这样的东西。如果需要,您还可以在该视图中添加“正在加载...”标签。

func showIndicatorView(){

    let loadingIndicator = UIActivityIndicatorView(frame: CGRectMake(0, 0, 50, 50))
    let backgroundView = UIView()

    backgroundView.layer.cornerRadius = 05
    backgroundView.clipsToBounds = true
    backgroundView.opaque = false
    backgroundView.backgroundColor = UIColor(white: 0.0, alpha: 0.6)

    loadingIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray
    loadingIndicator.color = UIColor.whiteColor()
    loadingIndicator.startAnimating()

    let loadingLabel = UILabel()
    loadingLabel.text = "Loading..."
    let textSize: CGSize = loadingLabel.text!.sizeWithAttributes([NSFontAttributeName: loadingLabel.font ])

    loadingLabel.frame = CGRectMake(50, 0, textSize.width, textSize.height)
    loadingLabel.center.y = loadingIndicator.center.y

    backgroundView.frame = CGRectMake(0, 0, textSize.width + 70, 50)
    backgroundView.center = self.view.center;

    self.view.addSubview(backgroundView)
    backgroundView.addSubview(loadingIndicator)
    backgroundView.addSubview(loadingLabel)
}

答案 1 :(得分:1)

使用MBProgressHud库。

这就是你所需要的: -

https://github.com/jdg/MBProgressHUD