RAActivityIndicator+Show.m 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. //
  2. // RAActivityIndicator+Show.m
  3. // Test
  4. //
  5. // Created by Jack on 2019/2/1.
  6. // Copyright © 2019 Jack Template. All rights reserved.
  7. //
  8. #import "RAActivityIndicator+Show.h"
  9. @implementation RAActivityIndicator (Show)
  10. + (instancetype)activityIndicatorShowOnView:(UIView *)view withType:(RAActivityType)type {
  11. RAActivityIndicator *indicator = [RAActivityIndicator activityIndicatorWithType:type];
  12. [view addSubview:indicator];
  13. indicator.translatesAutoresizingMaskIntoConstraints = NO;
  14. CGFloat indicator_width = CGRectGetWidth(indicator.frame);
  15. CGFloat indicator_height = CGRectGetHeight(indicator.frame);
  16. [indicator.centerXAnchor constraintEqualToAnchor:view.centerXAnchor].active = YES;
  17. [indicator.centerYAnchor constraintEqualToAnchor:view.centerYAnchor].active = YES;
  18. [indicator.widthAnchor constraintEqualToConstant:indicator_width].active = YES;
  19. [indicator.heightAnchor constraintEqualToConstant:indicator_height].active = YES;
  20. return indicator;
  21. }
  22. - (void)dismiss {
  23. [self dismiss:nil];
  24. }
  25. - (void)dismiss:(void(^)(void))completion {
  26. [UIView animateWithDuration:0.5 animations:^{
  27. self.alpha = 0.4f;
  28. } completion:^(BOOL finished) {
  29. if (completion) {
  30. completion();
  31. }
  32. [self removeFromSuperview];
  33. }];
  34. }
  35. @end