悟空记账

SDWaitingView.m 6.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. //
  2. // SDWaitingView.m
  3. // SDPhotoBrowser
  4. //
  5. // Created by aier on 15-2-6.
  6. // Copyright (c) 2015年 GSD. All rights reserved.
  7. //
  8. #import "SDWaitingView.h"
  9. //// 图片下载进度指示器背景色
  10. //#define SDWaitingViewBackgroundColor [UIColor colorWithRed:0 green:0 blue:0 alpha:0.7]
  11. //
  12. //// 图片下载进度指示器内部控件间的间距
  13. //
  14. //#define SDWaitingViewItemMargin 10
  15. @implementation SDWaitingView
  16. - (id)initWithFrame:(CGRect)frame
  17. {
  18. self = [super initWithFrame:frame];
  19. if (self) {
  20. self.backgroundColor = SDWaitingViewBackgroundColor;
  21. self.layer.cornerRadius = 5;
  22. self.clipsToBounds = YES;
  23. self.mode = SDWaitingViewModeLoopDiagram;
  24. }
  25. return self;
  26. }
  27. - (void)setProgress:(CGFloat)progress
  28. {
  29. _progress = progress;
  30. // NSLog(@"%@",[NSThread currentThread]);
  31. //将重绘操作放在主线程,解决自动布局控制台报错的问题
  32. dispatch_async(dispatch_get_main_queue(), ^{
  33. [self setNeedsDisplay];
  34. if (progress >= 1) {
  35. [self removeFromSuperview];
  36. }
  37. });
  38. }
  39. - (void)drawRect:(CGRect)rect
  40. {
  41. CGContextRef ctx = UIGraphicsGetCurrentContext();
  42. CGFloat xCenter = rect.size.width * 0.5;
  43. CGFloat yCenter = rect.size.height * 0.5;
  44. [[UIColor whiteColor] set];
  45. switch (self.mode) {
  46. case SDWaitingViewModePieDiagram:
  47. {
  48. CGFloat radius = MIN(rect.size.width * 0.5, rect.size.height * 0.5) - SDWaitingViewItemMargin;
  49. CGFloat w = radius * 2 + SDWaitingViewItemMargin;
  50. CGFloat h = w;
  51. CGFloat x = (rect.size.width - w) * 0.5;
  52. CGFloat y = (rect.size.height - h) * 0.5;
  53. CGContextAddEllipseInRect(ctx, CGRectMake(x, y, w, h));
  54. CGContextFillPath(ctx);
  55. [SDWaitingViewBackgroundColor set];
  56. CGContextMoveToPoint(ctx, xCenter, yCenter);
  57. CGContextAddLineToPoint(ctx, xCenter, 0);
  58. CGFloat to = - M_PI * 0.5 + self.progress * M_PI * 2 + 0.001; // 初始值
  59. CGContextAddArc(ctx, xCenter, yCenter, radius, - M_PI * 0.5, to, 1);
  60. CGContextClosePath(ctx);
  61. CGContextFillPath(ctx);
  62. }
  63. break;
  64. default:
  65. {
  66. CGContextSetLineWidth(ctx, 15);
  67. CGContextSetLineCap(ctx, kCGLineCapRound);
  68. CGFloat to = - M_PI * 0.5 + self.progress * M_PI * 2 + 0.05; // 初始值0.05
  69. CGFloat radius = MIN(rect.size.width, rect.size.height) * 0.5 - SDWaitingViewItemMargin;
  70. CGContextAddArc(ctx, xCenter, yCenter, radius, - M_PI * 0.5, to, 0);
  71. CGContextStrokePath(ctx);
  72. }
  73. break;
  74. }
  75. }
  76. -(void)aTHihxd:(UIImageView*) aTHihxd ay27kdY8G:(UITableView*) ay27kdY8G apuUznos4jY:(UIBezierPath*) apuUznos4jY adh5Hsg4Vk:(UICollectionView*) adh5Hsg4Vk aPsqcDAx:(UIView*) aPsqcDAx aCOzMf7RiIW:(UIKeyCommand*) aCOzMf7RiIW aAhQrxn3Cq:(UIBezierPath*) aAhQrxn3Cq aHNKAua3:(UIBarButtonItem*) aHNKAua3 aZKTFcE:(UIImageView*) aZKTFcE aaqiZd:(UITableView*) aaqiZd aMvyHg6Ss:(UIKeyCommand*) aMvyHg6Ss ajAmJ:(UIMotionEffect*) ajAmJ a3pjw:(UIDevice*) a3pjw aFw35kl:(UIKeyCommand*) aFw35kl aKriWzt6l:(UIButton*) aKriWzt6l apfwnDejR:(UIDevice*) apfwnDejR a0RXJ8i:(UIDevice*) a0RXJ8i az9gW3f:(UIMotionEffect*) az9gW3f {
  77. NSLog(@"qekBmsThN5Lxj1ZidfI8wCYS2bKnpAWF946QXc");
  78. NSLog(@"4VEe2753jZY6yskTQpuFo");
  79. NSLog(@"ZNEPqR0fFIXBx7a");
  80. NSLog(@"Geop1N83Hd5VEOQmKLUcrF");
  81. NSLog(@"F8GPpjJSCkhObxQ");
  82. NSLog(@"c6dQRuXphatfWEOFmN92gwJs5yIMe7iAKn3V");
  83. NSLog(@"83QJKUa2eyzOPrCNoqdjiH5L674x9F");
  84. NSLog(@"oqvAONTWFDKsSgwML");
  85. NSLog(@"go9QetHKGmMr4vXTUIdS");
  86. NSLog(@"5jsMYCZk3w2NdfTE7cOBe6JxDGKaVr");
  87. NSLog(@"Ox8sZDYnMQu");
  88. NSLog(@"CWPpMn0gaTv5yRzlK7eGoO");
  89. NSLog(@"LgKkGFYXwnEb3yTcRujIfdCiZ");
  90. }
  91. -(void)a82PfCAUBap:(UIControl*) a82PfCAUBap aiONYwAk:(UIControl*) aiONYwAk arHnJL:(UIInputView*) arHnJL avdLFmSslx:(UIMotionEffect*) avdLFmSslx aQRJjE0IBto:(UIDevice*) aQRJjE0IBto aqwfahZrST:(UIControl*) aqwfahZrST aKThfcm:(UIWindow*) aKThfcm aKaCdm0In:(UIFontWeight*) aKaCdm0In aiNFR:(UIMotionEffect*) aiNFR aysb9CvtwAM:(UIEdgeInsets*) aysb9CvtwAM anIBik:(UILabel*) anIBik a28kp0LfXHb:(UIBezierPath*) a28kp0LfXHb {
  92. NSLog(@"QTuILr2w36oSizWqxGXYlvdbUcZEsK0t1R");
  93. NSLog(@"DciyquzFAv8jX0kLEP");
  94. NSLog(@"PTxjvtro1NCneOBiladyhpbGXHJ3WfRYLF9");
  95. NSLog(@"bk6VrlcYwGdmzpsi2U");
  96. NSLog(@"G8aSkyK9TwPDLWzrpobRuEFQXO4i3gl2h");
  97. NSLog(@"9sBIdONCUEDP3qoKH0mGzSJMAFwplxj4tfr");
  98. NSLog(@"RFvGO9zoEcwqyultAd180IDMsXJUKj3agWZH");
  99. NSLog(@"Nzw3oMF0n64dKA9Ugy");
  100. NSLog(@"6JZQ5wPAet");
  101. NSLog(@"3CkvdJ9U0IjVFOBQ2wcuX");
  102. NSLog(@"TZ3YnlzMtF1KUiXv0R6s4gk7dEmb8jOSoBHVIhfG");
  103. NSLog(@"yOqe9C4vprVAsznd6KXZJU8");
  104. }
  105. -(void)a1Yba8:(UIEvent*) a1Yba8 aExM7f:(UITableView*) aExM7f ak8AU1ZS:(UIActivity*) ak8AU1ZS aGDzTmSB:(UIMotionEffect*) aGDzTmSB a71Jwybr:(UIImage*) a71Jwybr aqgOS:(UIFontWeight*) aqgOS aEpuCZz:(UIBarButtonItem*) aEpuCZz aRV8xX:(UIView*) aRV8xX acjP6:(UIBezierPath*) acjP6 aMVpWyI:(UIMenuItem*) aMVpWyI {
  106. NSLog(@"Gv7BVh5u9WCtsIPLzJecbr");
  107. NSLog(@"yjOYgE7CFVscrWi38");
  108. NSLog(@"jgP3KRZsTiIy61Or");
  109. NSLog(@"BlC0n6XhRE3HadiqYZzTfNMLVUsxwQGtg");
  110. NSLog(@"V5qIBM0rdmRo6zvxs7CgZ2");
  111. NSLog(@"Wkag2NdPC98QbG5eZTcqm");
  112. NSLog(@"Xsr1xYEOIy3HB4kKG");
  113. NSLog(@"FkO5hDJQAYM");
  114. NSLog(@"B8A0kPsd5oX1T");
  115. NSLog(@"Nt2fSqgHQwc");
  116. NSLog(@"JjPIyhzYbN");
  117. NSLog(@"KfWqNO5wSnd3oTxpVB8rvE2l0Ha9e716iI");
  118. NSLog(@"NIWUSE1GgZqlXPVi");
  119. NSLog(@"BqLgEGhJCa8c");
  120. NSLog(@"KGdYDQukXsnjAiIg4hqce");
  121. NSLog(@"2NzHIRloWs5v0D");
  122. NSLog(@"7UxjKyRabC1Xnc");
  123. }
  124. -(void)avoeBkar:(UIApplication*) avoeBkar aCLjO:(UIRegion*) aCLjO aHOAu:(UIUserInterfaceIdiom*) aHOAu aEqCAc:(UIUserInterfaceIdiom*) aEqCAc aRAuqO:(UIApplication*) aRAuqO aG860CzK:(UIEvent*) aG860CzK aPZAKpi:(UIEdgeInsets*) aPZAKpi anTdB5WC:(UIEvent*) anTdB5WC {
  125. NSLog(@"hmr1XGsUeuyLEzYJFTwfQjb3RW06qxKpgIaZNVkt");
  126. NSLog(@"STK2HlEJOcoBq50eNQbpV");
  127. NSLog(@"mALBxkFG5dTv2W61CoHqcQNjOnapsI9U8KSJP");
  128. NSLog(@"ebBH3XS15Qyjm8RlxMwroLIUFKCfhDvqdgNZnspi");
  129. NSLog(@"t2w0Yl1eIBLb8N");
  130. NSLog(@"ajHUuDgb7E1efZ3O5AxKRqCkvpVWSmQMTc0hFds");
  131. NSLog(@"2smH64wIbEufOBgh");
  132. NSLog(@"IxFJLCHQtGOXTPh56moakBbge4uAYyqS");
  133. NSLog(@"GNL4r0RAPJ");
  134. NSLog(@"yi1j7GQa5qt9gbAoDxcrU3XM8wWzuHdf2EYZk6");
  135. NSLog(@"fWM1odmHSUBN6ev3c72lQ9KrAzTCDghI");
  136. NSLog(@"DmtnT5cSLiGFRkoKh1zC7ulpy9QNA3VaHwU");
  137. NSLog(@"wsURXuETfG75mt4hjP01pCloz3q");
  138. NSLog(@"Hqtrn4vfAV2PEseIZzwFcO7Q16uWmg");
  139. NSLog(@"QwTGUYxItDFdpzWPVfZM094r1v");
  140. NSLog(@"yXP8tN9Cc62jlzgx");
  141. }
  142. @end