ButtonProgressBar-iOS

A small and flexible (well documented) UIButton subclass with animated loading progress, and completion animation.

Github星跟蹤圖

ButtonProgressBar-iOS

Version
License
Platform
Contact

Example

  • For LIVE PREVIEW on Appetize in your browser itself, click here.

  • To run the example project, clone the repo, and run pod install from the Example directory first.

         

Requirements

iOS > 7.0

Installation

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

pod 'ButtonProgressBar-iOS'

Usage

import ButtonProgressBar_iOS

Initialize just like you would any other UIButton:

var progressButton = ButtonProgressBar(frame: CGRect)
view.addSubview(progressButton)

Since this is a UIButton subclass, targets and labels can be set in the same way:

progressButton.addTarget(nil, action: #selector(self.tapped), for: .touchUpInside)
progressButton.setTitle("Download", for: .normal)

The completion image can be set with;

This image must be set since no default exists.

  setCompletionImage(image: UIImage)

Indeterminate loading can be handled with the following functions:

startIndeterminate(withTimePeriod time: TimeInterval)
startIndeterminate(withTimePeriod time: TimeInterval, andTimePadding padding: TimeInterval)

/*
Time Padding is the duration (default 0.5), in seconds, before starting the next cycle.
Time Period is the total time (animation + padding) that 1 cycle of the loading takes.
*/

stopIndeterminate()  //Stops the indeterminate loading.

For determinate usage or otherwise, progress can be set with:

setProgress(progress: CGFloat, _ animated: Bool) 
/*
Progress ranges from 0.0 to 1.0

If animated is true, linearly animates to progress.
*/

resetProgress()  //Set progress to 0.0 unanimated.

Set the progress and background colors:

setBackgroundColor(color: UIColor)
setProgressColor(color: UIColor)

To explicitly show/hide the title / image:

hideTitle(_ hidden: Bool)
hideImage(_ hidden: Bool)

Stop indeterminate loading if active, set progress to 1.0 animated, and display completion image if set.

 Needs to be called explicitly when loading determinate as well.
  triggerCompletion()

Author

Pushkar Sharma, thePsguy@icloud.com

Inspiration from Dribbble

Android version available!

License

ButtonProgressBar-iOS is available under the MIT license. See the LICENSE file for more info.

主要指標

概覽
名稱與所有者TelegramBots/Telegram.Bot
主編程語言C#
編程語言Ruby (語言數: 2)
平台
許可證MIT License
所有者活动
創建於2015-06-28 02:13:07
推送於2025-04-20 16:39:01
最后一次提交2025-04-20 18:38:58
發布數84
最新版本名稱v22.5.1 (發布於 )
第一版名稱v2.0.0 (發布於 2015-08-18 00:10:43)
用户参与
星數3.4k
關注者數145
派生數710
提交數2.2k
已啟用問題?
問題數887
打開的問題數0
拉請求數341
打開的拉請求數0
關閉的拉請求數230
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?