BusyNavigationBar 2.0.0

BusyNavigationBar 2.0.0

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Oct 2016
SPMSupports SPM

Maintained by Gunay Mert Karadogan.


Downloads

Total23,974
Week182
Month1,605

Installs

Apps380
Apps WeekApps This Week 15
Test Targets29
Test WeekTests This week 2
powered by Segment

GitHub

Stars866
Watchers17
Forks57
Issues5
Contributors4
Pull Requests1

Code

Files3
LOCLines of Code 156


BusyNavigationBar

A UINavigationBar extension to show loading effects above navigation bar’s background.

Screenshot

Stripes

gray_stripe.gif blue_stripe2.gif

Bars

gray_bar.gif green_bar.gif

Your custom layer

gray_bird.gif

Usage

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

use_frameworks!
pod "BusyNavigationBar"

Or add the following lines to your Cartfile:

github "gmertk/BusyNavigationBar" "master"

After installation is done, you can use the new methods of your navigation bar; start(_ options: BusyNavigationBarOptions) and stop().

Properties

var options = BusyNavigationBarOptions()

/**
    Animation type

    - Stripes: Sliding stripes as seen in Periscope app.
    - Bars: Bars going up and down like a wave.
    - CustomLayer(() -> CALayer): Your layer to be inserted in navigation bar. In this case, properties other than `transparentMaskEnabled` and `alpha` will not be used. 
*/
options.animationType = .Stripes

/// Color of the shapes. Defaults to gray.
options.color = UIColor.grayColor()

/// Alpha of the animation layer. Remember that there is also an additional (constant) gradient mask over the animation layer. Defaults to 0.5.
options.alpha = 0.5

/// Width of the bar. Defaults to 20.
options.barWidth = 20

/// Gap between bars. Defaults to 30.
options.gapWidth = 30

/// Speed of the animation. 1 corresponds to 0.5 sec. Defaults to 1.
options.speed = 1

/// Flag for enabling the transparent masking layer over the animation layer.
options.transparentMaskEnabled = true


// Start animation
self.navigationController?.navigationBar.start(options)

// Stop animation
self.navigationController?.navigationBar.stop()

Author

Günay Mert Karadoğan, [email protected]

License

BusyNavigationBar is available under the MIT license. See the LICENSE file for more info.

More

There is a nice tutorial about Periscope’s pull-to-refresh control by @bitwaker.