JGProgressHUD Class Reference
Inherits from | UIView |
---|---|
Declared in | JGProgressHUD.h JGProgressHUD.m |
Overview
A HUD to indicate progress, success, error, warnings or other notifications to the user.
@c JGProgressHUD respects its @c layoutMargins when positioning the HUD view. Additionally, on iOS 11 if @c insetsLayoutMarginsFromSafeArea is set to @c YES (default) the @c layoutMargins additionally contain the @c safeAreaInsets.
Note: Remember to call every method from the main thread! UIKit => main thread! @attention You may not add JGProgressHUD to a view which has an alpha value < 1.0 or to a view which is a subview of a view with an alpha value < 1.0.
Other Methods
– initWithStyle:
Designated initializer.
- (instancetype)initWithStyle:(JGProgressHUDStyle)style
Parameters
style |
The appearance style of the HUD. |
---|
Discussion
Designated initializer.
Declared In
JGProgressHUD.h
+ progressHUDWithStyle:
Convenience initializer.
+ (instancetype)progressHUDWithStyle:(JGProgressHUDStyle)style
Parameters
style |
The appearance style of the HUD. |
---|
Discussion
Convenience initializer.
Declared In
JGProgressHUD.h
– initWithAutomaticStyle
Convenience initializer. The HUD will dynamically change its style based on whether dark mode is enabled or not. When dark mode is on, the style will be JGProgressHUDStyleDark, when dark mode is off the style will be JGProgressHUDStyleExtraLight.
- (instancetype)initWithAutomaticStyle
Discussion
Convenience initializer. The HUD will dynamically change its style based on whether dark mode is enabled or not. When dark mode is on, the style will be JGProgressHUDStyleDark, when dark mode is off the style will be JGProgressHUDStyleExtraLight.
Declared In
JGProgressHUD.h
+ progressHUDWithAutomaticStyle
Convenience initializer. The HUD will dynamically change its style based on whether dark mode is enabled or not. When dark mode is on, the style will be JGProgressHUDStyleDark, when dark mode is off the style will be JGProgressHUDStyleExtraLight.
+ (instancetype)progressHUDWithAutomaticStyle
Discussion
Convenience initializer. The HUD will dynamically change its style based on whether dark mode is enabled or not. When dark mode is on, the style will be JGProgressHUDStyleDark, when dark mode is off the style will be JGProgressHUDStyleExtraLight.
Declared In
JGProgressHUD.h
– showInView:
Shows the HUD animated. You should preferably show the HUD in a UIViewController’s view. The HUD will be repositioned in response to rotation and keyboard show/hide notifications.
- (void)showInView:(UIView *)view
Parameters
view |
The view to show the HUD in. The frame of the @c view will be used to calculate the position of the HUD. |
---|
Discussion
Shows the HUD animated. You should preferably show the HUD in a UIViewController’s view. The HUD will be repositioned in response to rotation and keyboard show/hide notifications.
Declared In
JGProgressHUD.h
– showInView:animated:
Shows the HUD. You should preferably show the HUD in a UIViewController’s view. The HUD will be repositioned in response to rotation and keyboard show/hide notifications.
- (void)showInView:(UIView *)view animated:(BOOL)animated
Parameters
view |
The view to show the HUD in. The frame of the @c view will be used to calculate the position of the HUD. |
---|---|
animated |
If the HUD should show with an animation. |
Discussion
Shows the HUD. You should preferably show the HUD in a UIViewController’s view. The HUD will be repositioned in response to rotation and keyboard show/hide notifications.
Declared In
JGProgressHUD.h
– showInView:animated:afterDelay:
Shows the HUD after a delay. You should preferably show the HUD in a UIViewController’s view. The HUD will be repositioned in response to rotation and keyboard show/hide notifications. You may call @c dismiss to stop the HUD from appearing before the delay has passed.
- (void)showInView:(UIView *__nonnull)view animated:(BOOL)animated afterDelay:(NSTimeInterval)delay
Parameters
view |
The view to show the HUD in. The frame of the @c view will be used to calculate the position of the HUD. |
---|---|
animated |
If the HUD should show with an animation. |
delay |
The delay until the HUD will be shown. |
Discussion
Shows the HUD after a delay. You should preferably show the HUD in a UIViewController’s view. The HUD will be repositioned in response to rotation and keyboard show/hide notifications. You may call @c dismiss to stop the HUD from appearing before the delay has passed.
Declared In
JGProgressHUD.h
– dismissAnimated:
– dismissAfterDelay:
Dismisses the HUD animated after a delay. If the HUD is currently not visible this method does nothing.
- (void)dismissAfterDelay:(NSTimeInterval)delay
Parameters
delay |
The delay until the HUD will be dismissed. |
---|
Discussion
Dismisses the HUD animated after a delay. If the HUD is currently not visible this method does nothing.
Declared In
JGProgressHUD.h
– dismissAfterDelay:animated:
Dismisses the HUD after a delay. If the HUD is currently not visible this method does nothing.
- (void)dismissAfterDelay:(NSTimeInterval)delay animated:(BOOL)animated
Parameters
delay |
The delay until the HUD will be dismissed. |
---|---|
animated |
Discussion
Dismisses the HUD after a delay. If the HUD is currently not visible this method does nothing.
Declared In
JGProgressHUD.h
– dismissAfterDelay:animated:completion:
Dismisses the HUD after a delay and runs a block upon completion. If the HUD is currently not visible this method does nothing.
- (void)dismissAfterDelay:(NSTimeInterval)delay animated:(BOOL)animated completion:(void ( ^ _Nullable ) ( void ))dismissCompletion
Parameters
delay |
The delay until the HUD will be dismissed. |
---|---|
animated |
|
dismissCompletion |
The block to execute after the HUD was dismissed. |
Discussion
Dismisses the HUD after a delay and runs a block upon completion. If the HUD is currently not visible this method does nothing.
Declared In
JGProgressHUD.h
– performAfterDismiss:
Schedules the given block to be executed when this HUD disapears. If the HUD is currently not visible this method does nothing.
- (void)performAfterDismiss:(void ( ^ _Nonnull ) ( void ))dismissCompletion
Parameters
dismissCompletion |
The block to execute after the HUD was dismissed. Multiple calls to this method cause the different blocks to be executed in FIFO order. |
---|
Discussion
Schedules the given block to be executed when this HUD disapears. If the HUD is currently not visible this method does nothing.
Declared In
JGProgressHUD.h
– contentView
The content view inside the @c HUDView. If you want to add additional views to the HUD you should add them as subview to the @c contentView.
- (UIView *)contentView
Discussion
The content view inside the @c HUDView. If you want to add additional views to the HUD you should add them as subview to the @c contentView.
Declared In
JGProgressHUD.h
– textLabel
The label used to present text on the HUD. Set the @c text or @c attributedText property of this label to change the displayed text. You may not change the label’s @c frame or @c bounds.
- (UILabel *)textLabel
Discussion
The label used to present text on the HUD. Set the @c text or @c attributedText property of this label to change the displayed text. You may not change the label’s @c frame or @c bounds.
Declared In
JGProgressHUD.h
– detailTextLabel
The label used to present detail text on the HUD. Set the @c text or @c attributedText property of this label to change the displayed text. You may not change the label’s @c frame or @c bounds.
- (UILabel *)detailTextLabel
Discussion
The label used to present detail text on the HUD. Set the @c text or @c attributedText property of this label to change the displayed text. You may not change the label’s @c frame or @c bounds.
Declared In
JGProgressHUD.h
– animation
The animation used for showing and dismissing the HUD. @b Default: JGProgressHUDFadeAnimation.
- (JGProgressHUDAnimation *)animation
Discussion
The animation used for showing and dismissing the HUD. @b Default: JGProgressHUDFadeAnimation.
Declared In
JGProgressHUD.h
– setProgress:animated:
Adjusts the current progress shown by the receiver, optionally animating the change.
- (void)setProgress:(float)progress animated:(BOOL)animated
Parameters
progress |
The new progress value. |
---|---|
animated |
YES if the change should be animated, NO if the change should happen immediately. |
Discussion
Adjusts the current progress shown by the receiver, optionally animating the change.
The current progress is represented by a floating-point value between 0.0 and 1.0, inclusive, where 1.0 indicates the completion of the task. The default value is 0.0. Values less than 0.0 and greater than 1.0 are pinned to those limits.
Declared In
JGProgressHUD.h
Other Methods
style
The appearance style of the HUD. @b Default: JGProgressHUDStyleExtraLight.
@property (nonatomic, assign) JGProgressHUDStyle style
Discussion
The appearance style of the HUD. @b Default: JGProgressHUDStyleExtraLight.
Declared In
JGProgressHUD.h
targetView
The view in which the HUD is presented.
@property (nonatomic, weak, readonly, nullable) UIView *targetView
Discussion
The view in which the HUD is presented.
Declared In
JGProgressHUD.h
delegate
The delegate of the HUD.
@property (nonatomic, weak, nullable) id<JGProgressHUDDelegate> delegate
Discussion
The delegate of the HUD.
See Also
Declared In
JGProgressHUD.h
indicatorView
The indicator view. You can assign a custom subclass of @c JGProgressHUDIndicatorView to this property or one of the default indicator views (if you do so, you should assign it before showing the HUD). This value is optional. @b Default: JGProgressHUDIndeterminateIndicatorView.
@property (nonatomic, strong, nullable) JGProgressHUDIndicatorView *indicatorView
Discussion
The indicator view. You can assign a custom subclass of @c JGProgressHUDIndicatorView to this property or one of the default indicator views (if you do so, you should assign it before showing the HUD). This value is optional. @b Default: JGProgressHUDIndeterminateIndicatorView.
Declared In
JGProgressHUD.h
shadow
The shadow cast by the @c HUDView. This value is optional. Setting this to @c nil means no shadow is cast by the HUD. @b Default: nil.
@property (nonatomic, strong, nullable) JGProgressHUDShadow *shadow
Discussion
The shadow cast by the @c HUDView. This value is optional. Setting this to @c nil means no shadow is cast by the HUD. @b Default: nil.
Declared In
JGProgressHUD.h
position
The position of the HUD inside the hosting view’s frame, or inside the specified frame. @b Default: JGProgressHUDPositionCenter
@property (nonatomic, assign) JGProgressHUDPosition position
Discussion
The position of the HUD inside the hosting view’s frame, or inside the specified frame. @b Default: JGProgressHUDPositionCenter
Declared In
JGProgressHUD.h
interactionType
Interaction type of the HUD. Determines whether touches should be let through to the views behind the HUD.
@property (nonatomic, assign) JGProgressHUDInteractionType interactionType
Discussion
Interaction type of the HUD. Determines whether touches should be let through to the views behind the HUD.
See Also
JGProgressHUDInteractionType. @b Default: JGProgressHUDInteractionTypeBlockAllTouches.
Declared In
JGProgressHUD.h
parallaxMode
Parallax mode for the HUD. This setting determines whether the HUD should have a parallax (@c UIDeviceMotion) effect. This effect is controlled by device motion on iOS and remote touchpad panning gestures on tvOS.
@property (nonatomic, assign) JGProgressHUDParallaxMode parallaxMode
Discussion
Parallax mode for the HUD. This setting determines whether the HUD should have a parallax (@c UIDeviceMotion) effect. This effect is controlled by device motion on iOS and remote touchpad panning gestures on tvOS.
See Also
JGProgressHUDParallaxMode. @b Default: JGProgressHUDParallaxModeDevice.
Declared In
JGProgressHUD.h
wantsFocus
When this property is set to @c YES the HUD will try to become focused, which prevents interactions with the @c targetView. If set to @c NO the HUD will not become focused and interactions with @c targetView remain possible. Default: @c YES.
@property (nonatomic, assign) BOOL wantsFocus
Discussion
When this property is set to @c YES the HUD will try to become focused, which prevents interactions with the @c targetView. If set to @c NO the HUD will not become focused and interactions with @c targetView remain possible. Default: @c YES.
Declared In
JGProgressHUD.h
square
If the HUD should always have the same width and height. @b Default: NO.
@property (nonatomic, assign) BOOL square
Discussion
If the HUD should always have the same width and height. @b Default: NO.
Declared In
JGProgressHUD.h
vibrancyEnabled
Internally @c JGProgressHUD uses an @c UIVisualEffectView with a @c UIBlurEffect. A second @c UIVisualEffectView can be added on top of that with a @c UIVibrancyEffect which amplifies and adjusts the color of content layered behind the view, allowing content placed inside the contentView to become more vivid. This flag sets whether the @c UIVibrancyEffect should be used. Using the vibrancy effect can sometimes, depending on the contents of the display, result in a weird look (especially on iOS < 9.3). @b Default: NO.
@property (nonatomic, assign) BOOL vibrancyEnabled
Discussion
Internally @c JGProgressHUD uses an @c UIVisualEffectView with a @c UIBlurEffect. A second @c UIVisualEffectView can be added on top of that with a @c UIVibrancyEffect which amplifies and adjusts the color of content layered behind the view, allowing content placed inside the contentView to become more vivid. This flag sets whether the @c UIVibrancyEffect should be used. Using the vibrancy effect can sometimes, depending on the contents of the display, result in a weird look (especially on iOS < 9.3). @b Default: NO.
Declared In
JGProgressHUD.h
cornerRadius
The radius used for rounding the four corners of the HUD view. @b Default: 10.0.
@property (nonatomic, assign) CGFloat cornerRadius
Discussion
The radius used for rounding the four corners of the HUD view. @b Default: 10.0.
Declared In
JGProgressHUD.h
contentInsets
Insets the contents of the HUD. @b Default: (20, 20, 20, 20).
@property (nonatomic, assign) UIEdgeInsets contentInsets
Discussion
Insets the contents of the HUD. @b Default: (20, 20, 20, 20).
Declared In
JGProgressHUD.h
visible
Whether the HUD is visible on screen.
@property (nonatomic, assign, readonly, getter=isVisible) BOOL visible
Return Value
Whether the HUD is visible on screen.
Declared In
JGProgressHUD.h
progress
The progress to display using the @c progressIndicatorView. A change of this property is not animated. Use the @c setProgress:animated: method for an animated progress change. @b Default: 0.0.
@property (nonatomic, assign) float progress
Discussion
The progress to display using the @c progressIndicatorView. A change of this property is not animated. Use the @c setProgress:animated: method for an animated progress change. @b Default: 0.0.
Declared In
JGProgressHUD.h
minimumDisplayTime
Specifies a minimum time that the HUD will be on-screen. Useful to prevent the HUD from flashing quickly on the screen when indeterminate tasks complete more quickly than expected. @b Default: 0.0.
@property (nonatomic, assign) NSTimeInterval minimumDisplayTime
Discussion
Specifies a minimum time that the HUD will be on-screen. Useful to prevent the HUD from flashing quickly on the screen when indeterminate tasks complete more quickly than expected. @b Default: 0.0.
Declared In
JGProgressHUD.h
voiceOverEnabled
Determines whether Voice Over announcements should be made upon displaying the HUD (if Voice Over is active). @b Default: YES
@property (nonatomic, assign) BOOL voiceOverEnabled
Discussion
Determines whether Voice Over announcements should be made upon displaying the HUD (if Voice Over is active). @b Default: YES
Declared In
JGProgressHUD.h
tapOnHUDViewBlock
A block to be invoked when the HUD view is tapped.
@property (nonatomic, copy, nullable) void ( ^ ) ( JGProgressHUD *__nonnull HUD ) tapOnHUDViewBlock
Discussion
A block to be invoked when the HUD view is tapped.
Note: The interaction type of the HUD must be @c JGProgressHUDInteractionTypeBlockTouchesOnHUDView or @c JGProgressHUDInteractionTypeBlockAllTouches, otherwise this block won’t be fired.
Declared In
JGProgressHUD.h
tapOutsideBlock
A block to be invoked when the area outside of the HUD view is tapped.
@property (nonatomic, copy, nullable) void ( ^ ) ( JGProgressHUD *__nonnull HUD ) tapOutsideBlock
Discussion
A block to be invoked when the area outside of the HUD view is tapped.
Note: The interaction type of the HUD must be @c JGProgressHUDInteractionTypeBlockAllTouches, otherwise this block won’t be fired.
Declared In
JGProgressHUD.h
Extension Methods
thick
Setting this to @c YES makes the text and indicator views bigger. @b Default: NO.
@property (nonatomic, assign) BOOL thick
Discussion
Setting this to @c YES makes the text and indicator views bigger. @b Default: NO.
Declared In
JGProgressHUD.m