Activity indicator with custom image

后端 未结 10 1270
甜味超标
甜味超标 2021-01-31 05:58

I am loading a UIWebView and in the meantime I wan\'t to show a blank page with this\"spinner\" activity indic

10条回答
  •  孤街浪徒
    2021-01-31 06:41

    You can set an images to your activityIndicator. I created a function for add custom image to activityIndicator. Here is what I created.

    public func showProgressView(view: UIView) -> UIImageView {
        let containerView = UIView()
        let progressView = UIView()
        var activityIndicatorImageView = UIImageView()
    
        if let statusImage = UIImage(named: Constants.ActivityIndicatorImageName1) {
            let activityImageView = UIImageView(image: statusImage)
            containerView.frame = view.frame
            containerView.backgroundColor = UIColor(hex: 0xffffff, alpha: 0.3)
            progressView.frame = CGRectMake(0, 0, 80, 80)
            progressView.center = CGPointMake(view.bounds.width / 2, view.bounds.height / 2)
            progressView.backgroundColor = UIColor(hex: 0x18bda3, alpha: 0.7)
            progressView.clipsToBounds = true
            progressView.layer.cornerRadius = 10
            activityImageView.animationImages = [UIImage(named: Constants.ActivityIndicatorImageName1)!,
                UIImage(named: Constants.ActivityIndicatorImageName2)!,
                UIImage(named: Constants.ActivityIndicatorImageName3)!,
                UIImage(named: Constants.ActivityIndicatorImageName4)!,
                UIImage(named: Constants.ActivityIndicatorImageName5)!]
            activityImageView.animationDuration = 0.8;
            activityImageView.frame = CGRectMake(view.frame.size.width / 2 - statusImage.size.width / 2, view.frame.size.height / 2 - statusImage.size.height / 2, 40.0, 48.0)
            activityImageView.center = CGPointMake(progressView.bounds.width / 2, progressView.bounds.height / 2)
            dispatch_async(dispatch_get_main_queue()) {
                progressView.addSubview(activityImageView)
                containerView.addSubview(progressView)
                view.addSubview(containerView)
                activityIndicatorImageView = activityImageView
            }
        }
        return activityIndicatorImageView
    }
    

    You can call this method everywhere in your code. And just call the startAnimating method. If you want to hide just call the stopAnimating method.

提交回复
热议问题