RAProgressHUD.m 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. //
  2. // RAProgressHUD.m
  3. // Apex And Drivers
  4. //
  5. // Created by Jack on 2018/6/5.
  6. // Copyright © 2018年 USAI. All rights reserved.
  7. //
  8. #import "RAProgressHUD.h"
  9. @implementation RAProgressHUD
  10. + (instancetype)showHUDOnView:(UIView *)view {
  11. if (!view) {
  12. return nil;
  13. }
  14. RAProgressHUD *hud = [[RAProgressHUD alloc] init];
  15. CGFloat viewWidth = CGRectGetWidth(view.bounds);
  16. CGFloat viewHeight = CGRectGetHeight(view.bounds);
  17. // CGRect frame = CGRectMake((viewWidth - 100) * 0.5, (viewHeight - 100) * 0.5, 100, 100);
  18. // hud.frame = frame;
  19. hud.backgroundColor = [UIColor lightGrayColor];
  20. hud.layer.cornerRadius = 5.0f;
  21. hud.layer.masksToBounds = YES;
  22. [view addSubview:hud];
  23. hud.translatesAutoresizingMaskIntoConstraints = NO;
  24. NSLayoutConstraint *h_center = [NSLayoutConstraint constraintWithItem:hud
  25. attribute:NSLayoutAttributeCenterX
  26. relatedBy:NSLayoutRelationEqual
  27. toItem:view
  28. attribute:NSLayoutAttributeCenterX
  29. multiplier:1
  30. constant:0];
  31. NSLayoutConstraint *v_center = [NSLayoutConstraint constraintWithItem:hud
  32. attribute:NSLayoutAttributeCenterY
  33. relatedBy:NSLayoutRelationEqual
  34. toItem:view
  35. attribute:NSLayoutAttributeCenterY
  36. multiplier:1
  37. constant:0];
  38. NSLayoutConstraint *width = [NSLayoutConstraint constraintWithItem:hud
  39. attribute:NSLayoutAttributeWidth
  40. relatedBy:NSLayoutRelationEqual
  41. toItem:nil
  42. attribute:NSLayoutAttributeNotAnAttribute
  43. multiplier:0
  44. constant:100];
  45. NSLayoutConstraint *height = [NSLayoutConstraint constraintWithItem:hud
  46. attribute:NSLayoutAttributeHeight
  47. relatedBy:NSLayoutRelationEqual
  48. toItem:nil
  49. attribute:NSLayoutAttributeNotAnAttribute
  50. multiplier:0
  51. constant:100];
  52. [view addConstraints:@[h_center,v_center,width,height]];
  53. return hud;
  54. }
  55. - (void)dismiss {
  56. [self removeFromSuperview];
  57. }
  58. @end