ESTMusicIndicator

by Aufree

Cool Animated music indicator view written in Swift

440 Stars 63 Forks Last release: Not found MIT License 42 Commits 5 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

GA

Cool Animated music indicator view written in Swift.

ESTMusicIndicator is an implementation of NAKPlaybackIndicatorView in Swift for iOS 8.

MusicIndicator

You may interested in my other project

Requirements

  • An iPhone/iPad running iOS 8.0+
  • Xcode 7.0 or above

Screenshots

MusicIndicator

Run the Demo

$ open Example/ESTMusicIndicator.xcodeproj

Installation

CocoaPods

CocoaPods is a dependency manager for Cocoa projects.

CocoaPods 0.36 adds supports for Swift and embedded frameworks. You can install it with the following command:

$ gem install cocoapods

To integrate ESTMusicIndicatorView into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

pod 'ESTMusicIndicator'

Then, run the following command:

$ pod install

You can check out this link for more information about how to use CocoaPods.

Manually

  1. Clone this project or download it.
  2. Drag and drop Classes folder to your workspace

Usage

Simple Example:

let indicator = ESTMusicIndicatorView.init(frame: CGRect.zero)
indicator.tintColor = .red
indicator.sizeToFit()
view.addSubview(indicator)

Initially the

state
property is ESTMusicIndicatorViewStateStopped and the
hidesWhenStopped
property is YES. Thus, the view is hidden at this time.

The view appears and the bars start animation.

indicator.state = .playing;

The bars stop animation and become idle.

indicator.state = .paused;

The view becomes hidden.

indicator.state = .stopped;

You can use ESTMusicIndicatorView in both code and Storyboard, and it works well with both Auto Layout and frame-based layout.

Code with Auto Layout

let indicator = ESTMusicIndicatorView.init(frame: CGRect.zero)
indicator.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(indicator)

Then, add some positioning layout constraints. Note that normally you don't need to add sizing constraints since ESTMusicIndicatorView has an intrinsic content size. It will be automatically resized to fit its content.

Code with Frame-Based Layout

let indicator = ESTMusicIndicatorView.init(frame: CGRect.zero)
view.addSubview(indicator)
indicator.sizeToFit() // Resize itself to fit its content.

Customization

Color

The color of the bars can be changed by setting

tintColor
property (
UIView
) of the view or its ancestor view.

Size

Normally the view can be automatically resized to fit its content by:

  • Omitting sizing constraints in Auto Layout, since it has an intrinsic content size.
  • Calling
    sizeToFit
    in frame-based layout.

Or if you explicitly specify size, the bars will be placed in the center of the view.

Contact

You can ping me on Twitter or follow me on Weibo If you find an issue.

Contributing

Thank you for your interest in contributing to Hodor! Your ideas for improving this app are greatly appreciated. The best way to contribute is by submitting a pull request. I'll do my best to respond to you as soon as possible. You can also submit a new GitHub issue if you find bugs or have questions.

Thanks for

License

Copyright (c) 2017-2018 Paul King

Released under the MIT license

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.