Volumizer replaces the default system volume popup with a simple progress bar.
Switch branches/tags
Nothing to show
Clone or download
fxwx23 Merge pull request #5 from fxwx23/swift4
Compatible ios11, xcode9, swift4 and iPhoneX
Latest commit 6464919 Sep 8, 2018

Readme.md

Volumizer

Platform Language Cocoapods Compatible Carthage compatible GitHub license PRs Welcome

Volumizer replaces the system volume popup with a simple progress bar.

Before After After (iPhoneX)
good good good

Features

  • Swift 4
  • Hide the system volume HUD typically displayed on volume button presses
  • Show a simple progress bar like Instagram's iOS app does
  • Support iPhoneX
  • Well easy to customize appearance
  • Only support portrait mode

Installation

CocoaPods
platform :ios, '8.0'
use_frameworks!

pod 'Volumizer'
Carthage
github "fxwx23/Volumizer"
Manually

Drag the Volumizer folder into your project and link the MediaPlayer and AVFoundation frameworks to your project.

Usage

Use of Volumizer is a simple way with one line. Just call configure() after set a window at least.

Volumizer.configure()

You can customize the bar's appearance with VolumizerAppearanceOption.

/**
public enum VolumizerAppearanceOption {
   case overlayIsTranslucent(Bool) default is `true`.
   case overlayBackgroundBlurEffectStyle(UIBlurEffectStyle) default is `.extraLight`.
   case overlayBackgroundColor(UIColor) default is `.white`.
   case sliderProgressTintColor(UIColor) default is `.black`.
   case sliderTrackTintColor(UIColor) default is `.lightGray.withAlphaComponent(0.5)`
}
*/

let options: [VolumizerAppearanceOption] = [ .overlayIsTranslucent(true),
                                             .overlayBackgroundBlurEffect( .extraLight),
                                             .overlayBackgroundColor( .white),
                                             .sliderProgressTintColor( .black)]

let volumizer = Volumizer.configure(options)

/// To change options based on view's current appearance, call `update(options:_)` .
volumizer.change(options: otherOptions)

If you want to release volumizer 's window, please call resign(). Once you released, the system volume popup will be shown again.

volumizer.resign()

WIP

  • support landscape mode.
  • support SPM.
  • manage window level to be below UIWindowLevelAlert .
  • Objective-C compatible.

License

This project is under the MIT license.