Lightweight Progress HUD implementation for iOS.
Loading | Loading with text | Text only | Image | Image with text |
---|---|---|---|---|
To run the example project, clone the repo, and run pod install
from the Example directory beforehand.
DLProgressHUD requires iOS 14.0 and Swift 5.0 or above.
DLProgressHUD is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'DLProgressHUD'
There are five modes that can be used to show the progress HUD: loading, loadingWithText, textOnly, image and imageWithText.
You just need to call the show method and pass the HUD mode as a parameter:
DLProgressHUD.show(.loading)
Mode | Description |
---|---|
loading | HUD with an activity indicator only |
loadingWithText(_ text: String) | HUD with an activity indicator and a text label below it |
textOnly(_ text: String) | HUD with a text label only |
image(_ image: UIImage) | HUD with an image view only |
imageWithText(image: UIImage, text: String) | HUD with an image view and a text label below it |
There are two ways to configure the appearance and presentation of DLProgressHUD
:
- You can do it globally using the
DefaultHudConfiguration
class before instantiation.
DLProgressHUD.defaultConfiguration.backgroundInteractionEnabled = true
DLProgressHUD.show(.loading)
- You can create your own configuration instance that conforms to
HudConfigurationProtocol
protocol and pass it onDLProgressHUD
's methods.
struct HudCustomConfiguration: HudConfigurationProtocol {
var hudContentPreferredHeight: CGFloat = 64
var hudContentPreferredWidth: CGFloat = 180
var textFont: UIFont = .systemFont(ofSize: 18.0)
}
let configuration = HudCustomConfiguration()
DLProgressHUD.show(.textOnly("Loading..."), configuration: configuration)
DeluxeAlonso, alonso.alvarez.dev@gmail.com
DLProgressHUD is available under the MIT license. See the LICENSE file for more info.