ZVProgressHUD is a pure-swift and wieldy HUD.
- iOS 8.0+
- Swift 5.0
You can run this demo at Appetize
CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects.
You can install Cocoapod with the following command
$ sudo gem install cocoapods
To integrate ZVProgressHUD
into your project using CocoaPods, specify it into your Podfile
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target 'TargetName' do
use_frameworks!
pod 'ZVProgressHUD', '~> 2.0.0'
end
Then,install your dependencies with CocoaPods.
$ pod install
Carthage is intended to be the simplest way to add frameworks to your application.
You can install Carthage with Homebrew using following command:
$ brew update
$ brew install carthage
To integrate ZVProgressHUD
into your project using Carthage, specify it into your Cartfile
github "zevwings/ZVProgressHUD" ~> 0.0.1
Then,build the framework with Carthage
using carthage update
and drag ZVProgressHUD.framework
into your project.
The framework is under the Carthage/Build, and you should drag it into Target
-> Genral
-> Embedded Binaries
You can use import ProgressHUD
when you needed to use ZVProgressHUD
.
When you start a task, You can using following code:
// class method
ProgressHUD.shared.show()
// or you can use instance method
let hud = ProgressHUD()
hud.show()
you can custom animation type, use following code:
/// the animation type, default is flat
public enum AnimationType {
case flat
case native
}
/// this code will modify global animation type.
ProgressHUD.shared.animationType = .flat
when you want modify the superview of ZVProgressHUD
, use the following code:
// the HUD will show delay 0.0
ZVProgressHUD.show(with: "Loading", in: superview, delay: 0.0)
you can use a simple code to close HUD.
// class method
ProgressHUD.shared.dismiss()
// or you can use instance method
hud.dismiss()
when you want show a comfirm infomation, use the following code:
ProgressHUD.shared.showError(with: "error")
ProgressHUD.shared.showSuccess(with: "success")
ProgressHUD.shared.showWarning(with: "warning")
you also can show a custom image, use the following code:
let image = UIImage(named: "smile")
ProgressHUD.shared.showImage(image!)
// or
ProgressHUD.shared.showImage(image!, title: "smile everyday!")
you can use the following code to custom a animation indicator.
var images = [UIImage]()
for index in 1 ... 3 {
let image = UIImage(named: "loading_0\(index)")
images.append(image!)
}
ProgressHUD.shared.showAnimation(images)
ProgressHUD.shared.showProgress(0.0, title: "Progress")
// set logoSize of HUD, CGSize(30, 30)
class var logoSize: CGSize
// set logo image of HUD, default is nil
class var logo: UIImage
// set displayStyle type of HUD, default is dark.
class var displayStyle: DisplayStyle
// set mask type of HUD
class var maskType: MaskType
// the cornerRadius of basic view
class var cornerRadius: CGFloat
// the offset of basic view
class var offset: UIOffset
// the font of title label
class var font: UIFont
// you can change the line width of indicator when animation type is `flat`
class var strokeWith: CGFloat
// the size of indicator
class var indicatorSize: CGSize
// the animation type, default is `flat`
class var animationType: IndicatorView.AnimationType
class var contentInsets: UIEdgeInsets
class var titleEdgeInsets: UIEdgeInsets
class var indicatorEdgeInsets: UIEdgeInsets
you can add an observer to do something from hud's notifications.
extension NSNotification.Name {
// this hud did disappear
public static let ProgressHUDReceivedTouchUpInsideEvent: Notification.Name
// this hud will appear
public static let ProgressHUDWillAppear: Notification.Name
// this hud did appear
public static let ProgressHUDDidAppear: Notification.Name
// this hud will disappear
public static let ProgressHUDWillDisappear: Notification.Name
// this hud did disappear
public static let ProgressHUDDidDisappear: Notification.Name
}
ZVProgressHUD
distributed under the terms and conditions of the MIT License