su1t1a
Last Updated: March 16, 2017
·
47.13K
· itseranga
892414 10151468467596730 1847316210 o

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

Say Thanks
Respond

3 Responses
Add your response

16862
Me

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

over 1 year ago ·
20714
None

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
None

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 ·