/FTLinearActivityIndicator

Add the missing network activity indicator on iPhone X

Primary LanguageSwiftOtherNOASSERTION

FTLinearActivityIndicator

Version License Platform Twitter

iPhone X, XS, and XR don't display the network activity indicator anymore. This framework brings it back by placing an activity indicator in the upper right of the screen on top of the regular status bar items.

Since a circular indicator wouldn't fit, a rectangular KITT scanner-like indicator with a gradient is shown. The indicator UI can be used standalone or as a "fix" for the iOS network activity indicator (using the existing API).

Integration

As a fix for the system network activity indicator

In your app delegate's didFinishLaunching method, after initializing the window, just call

UIApplication.configureLinearNetworkActivityIndicatorIfNeeded()

Then, use the standard network activity indicator as usual.

As a standalone view

Include a FTLinearActivityIndicator view in your storyboard or instantiate it from code. The class supports the following methods and properties, using a similar API as the iOS UIActivityIndicatorView:

  • startAnimating()
  • stopAnimating()
  • isAnimating: Bool
  • hidesWhenStopped: Bool

tintColor is supported to colorize the indicator gradient.

Example

To open an example project, just call pod try FTLinearActivityIndicator on the command line.

Requirements

Written in Swift 4.2. Should run under any iOS (obviously, the iPhone X requires iOS 11 or higher).

Installation

FTLinearActivityIndicator is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'FTLinearActivityIndicator'

If you need to use Swift 4.0, please use the swift-4.0 branch:

pod 'FTLinearActivityIndicator', :git => 'git@github.com:futuretap/FTLinearActivityIndicator.git', :branch => 'swift-4.0'

Author

Ortwin Gentz, FutureTap GmbH, Twitter: @ortwingentz

License

FTLinearActivityIndicator is available under the CC-BY-SA 4.0 license. You may copy and redistribute, adapt and build upon the framework for any purpose, even commercially, as long as you give credit to me in the About menu or a similar place in the app.