[フレーム]
Last Updated: June 02, 2023
·
137K
· 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

Related protips:

Some simple Swift Extensions (Strip HTML, RGB Color, Color invert, Dismiss modal segue)

6 Responses
Add your response

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

over 1 year ago ·

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

over 1 year ago ·

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 ·

The best Android apps

over 1 year ago ·

nice information

over 1 year ago ·

thanks !

over 1 year ago ·

AltStyle によって変換されたページ (->オリジナル) /