su1t1a
Last Updated: October 20, 2018
·
85.98K
· itseranga

IOS customized activity indicator with Swift

Default activity indicator

  • Following function will add default activity indicator to a view.
func showActivityIndicatory(uiView: UIView) {
    var actInd: UIActivityIndicatorView = UIActivityIndicatorView()
    actInd.frame = CGRectMake(0.0, 0.0, 40.0, 40.0);
    actInd.center = uiView.center
    actInd.hidesWhenStopped = true
    actInd.activityIndicatorViewStyle =
                    UIActivityIndicatorViewStyle.WhiteLarge
    uiView.addSubview(actInd)
    activityIndicator.startAnimating()
}
  • Output will be looks like below

Picture

Customized activity indicator

  • Following function add customized activity indicator to a view
func showActivityIndicatory(uiView: UIView) {
    var container: UIView = UIView()
    container.frame = uiView.frame
    container.center = uiView.center
    container.backgroundColor = UIColorFromHex(0xffffff, alpha: 0.3)

    var loadingView: UIView = UIView()
    loadingView.frame = CGRectMake(0, 0, 80, 80)
    loadingView.center = uiView.center
    loadingView.backgroundColor = UIColorFromHex(0x444444, alpha: 0.7)
    loadingView.clipsToBounds = true
    loadingView.layer.cornerRadius = 10

    var actInd: UIActivityIndicatorView = UIActivityIndicatorView()
    actInd.frame = CGRectMake(0.0, 0.0, 40.0, 40.0);
    actInd.activityIndicatorViewStyle =
                UIActivityIndicatorViewStyle.WhiteLarge
    actInd.center = CGPointMake(loadingView.frame.size.width / 2,
                loadingView.frame.size.height / 2);
    loadingView.addSubview(actInd)
    container.addSubview(loadingView)
    uiView.addSubview(container)
    actInd.startAnimating()
}
  • In this function I have added partially transparent overlay to view and display activity indicator in rounded rectangle

  • Following is the output

Picture

  • Complete source code

https://github.com/erangaeb/dev-notes/blob/master/swift/ViewControllerUtils.swift

24 Responses
Add your response

16862

Modified source code with a singleton - https://github.com/Isuru-Nanayakkara/Swift-ProgressView

over 1 year ago ·
20714

nice...can you also tell me if there is a simple way to add custom image as the activity indicator?

over 1 year ago ·
20764

Hi, I was add this code to my app and I have an issue. It doesn't show in the centre. It show bit blow to the centre. Any ideas please?

/Oshadha

over 1 year ago ·
29800

Drag CustomActivityIndicatorView.swift to your project and add some image which should be animated in custom activity indicator view. It could be simple declared this way in your class:

lazy private var activityIndicator : CustomActivityIndicatorView = {
let image : UIImage = UIImage(named: "loading")!
return CustomActivityIndicatorView(image: image)
}()
where "loading" is your image in png format.

Then simple add it to your view:

self.view.addSubview(activityIndicator)
And run animation:

activityIndicator.startAnimating()
To stop animation call:

activityIndicator.stopAnimating()
see: https://luckypatcher.pro/
https://kodi.software/

https://showbox.software/

6 months ago ·
29827

if you want to implement a reusable spinner in Swift, I've found these tutorial: https://prograils.com/posts/reusable-activity-indicator-with-swift

6 months ago ·
30137

Hello friends my name is damyanti and i am a part time blogger who loves tech related stuff and always be try to give best to thier users you can visit here:
https://apktroll.com/blackmart/

3 months ago ·
30147

I want more code to add them on my website http://frackmanthemovie.com/

3 months ago ·
30306
30344
2 months ago ·
30432

@dwoshadha try this
[spinner setCenter:CGPointMake(kScreenWidth/2.0, kScreenHeight/2.0)];
for more info checkout
http://blokada.win
https://tvtap.xyz
https://bobbymoviebox.net

about 2 months ago ·
30450

customActivityIndicatory(self.view)
or
customActivityIndicatory(self.view, startAnimate: true)
//hide activityIndicatorView
customActivityIndicatory(self.view, startAnimate: false)
Check
https://www.gbwhatsapp.biz/

about 2 months ago ·
30505

Working Fine,
Thankss.
http://appvn.io/

about 2 months ago ·
30777

<a href="http://militarydietsubstitutes.com/">military diet substitutes</a>

Have you been having difficulty losing those few added pounds? Perhaps you have tried other weight loss plans and have not seen the results you’re searching for military diet substitutes

23 days ago ·
30811

Drag CustomActivityIndicatorView.swift to your project and add some image which should be animated in custom activity indicator view. It could be simple declared this way in your class:

lazy private var activityIndicator : CustomActivityIndicatorView = {
let image : UIImage = UIImage(named: "loading")!
return CustomActivityIndicatorView(image: image)
}()
where "loading" is your image in png format.

Then simple add it to your view:

self.view.addSubview(activityIndicator)
And run animation:

activityIndicator.startAnimating()
To stop animation call:

activityIndicator.stopAnimating()
https://redboxtv.co/

20 days ago ·
30875

How to use:

//Show activityIndicatorView
customActivityIndicatory(self.view)
or
customActivityIndicatory(self.view, startAnimate: true)
//hide activityIndicatorView
customActivityIndicatory(self.view, startAnimate: false)

https://www.redboxtv.me/
https://www.cloudtvapk.net/
https://www.videoder-app.com/

12 days ago ·
30876

well it was very helpful thanks for sharing https://www.redboxtv.me/

12 days ago ·
30919
30955

You can fine more thips about thie sapp on our site https://iamapk.com/tvtap/

7 days ago ·
31003
5 days ago ·
31008

download CotoMovies for watching movies and tv shows online for free.

4 days ago ·
31014

how to use this,
How to use:

//Show activityIndicatorView
customActivityIndicatory(self.view)
or
customActivityIndicatory(self.view, startAnimate: true)
//hide activityIndicatorView
customActivityIndicatory(self.view, startAnimate: false)
Redbox TV APK http://whirlybirdbrooklyn.com/redbox-tv-apk/

3 days ago ·
31021

I was just making this small mistake. I just realized it seeing this article. Forgot to call actInd function. thanks for sharing man. You really saved me. Appflix to watch netflix for free in your free time.

2 days ago ·
31026

It doesn't show in the centre. It show bit blow to the centre. Any ideas please?
https://www.showbox.buzz
https://www.cartoonhds.com
https://www.mobdros.com

1 day ago ·