两折买改口袋样式

BuyLimitHeader.m 35KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957
  1. //
  2. // BuyLimitHeader.m
  3. // YouHuiProject
  4. //
  5. // Created by 小花 on 2018/7/6.
  6. // Copyright © 2018年 kuxuan. All rights reserved.
  7. //
  8. #import "BuyLimitHeader.h"
  9. #define SCROLL_WIDTH (self.width - _moreButton_width)
  10. #define SCROLL_HEIGHT (self.height - _bottomLineHeight)
  11. #define CURRENT_WIDTH(s) [titleWidthArray[s] floatValue]
  12. static CGFloat arrow_H = 6;//箭头高
  13. static CGFloat arrow_W = 18;//箭头宽
  14. static CGFloat animation_time = .3;
  15. @interface BuyLimitHeader()
  16. /*------------其他设置------------*/
  17. /**
  18. * MLMBuyLimitHeadStyle
  19. */
  20. @property (nonatomic, assign) BuyLimitHeadStyle headStyle;
  21. /**
  22. * MLMBuyLimitHeadStyle
  23. */
  24. @property (nonatomic, assign) BuyLimitLayoutStyle layoutStyle;
  25. @end
  26. @implementation BuyLimitHeader
  27. {
  28. NSMutableArray *titlesArray;///标题数组
  29. UIScrollView *titlesScroll;
  30. NSMutableArray *buttonArray;//按钮数组
  31. NSMutableArray *backImgArray;//背景图数组
  32. UIView *lineView;//下划线view
  33. CAShapeLayer *arrow_layer;//箭头layer
  34. UIView *slideView;//滑块View
  35. UIScrollView *slideScroll;
  36. UIView *bottomLineView;//分割线
  37. NSInteger currentIndex;//当前选中的按钮
  38. //在与外侧scroll关联时,动画结束之后将其设置为NO
  39. BOOL isSelected;//区分点击还是滑动
  40. //button宽度的数组,总宽度
  41. NSMutableArray *titleWidthArray;
  42. CGFloat sum_width;
  43. //用来判断向左向右
  44. CGFloat endScale;
  45. }
  46. #pragma mark - initMethod
  47. - (instancetype)initWithFrame:(CGRect)frame titles:(NSArray *)titles {
  48. return [self initWithFrame:frame titles:titles headStyle:BuyLimitHeadStyleDefault];
  49. }
  50. - (instancetype)initWithFrame:(CGRect)frame titles:(NSArray *)titles headStyle:(BuyLimitHeadStyle)style {
  51. return [self initWithFrame:frame titles:titles headStyle:style layoutStyle:BuyLimitLayoutDefault];
  52. }
  53. - (instancetype)initWithFrame:(CGRect)frame titles:(NSArray *)titles headStyle:(BuyLimitHeadStyle)style layoutStyle:(BuyLimitLayoutStyle)layout {
  54. if (self = [super initWithFrame:frame]) {
  55. _headStyle = style;
  56. _layoutStyle = layout;
  57. titlesArray = [titles mutableCopy];
  58. [self initCustom];
  59. }
  60. return self;
  61. }
  62. #pragma mark - custom init
  63. - (void)initCustom {
  64. _headColor = [UIColor whiteColor];
  65. _selectColor = [UIColor blackColor];
  66. _deSelectColor = [UIColor lightGrayColor];
  67. _moreButton_width = 0;
  68. buttonArray = [NSMutableArray array];
  69. backImgArray = [NSMutableArray array];
  70. _showIndex = 0;
  71. _fontSize = 13;
  72. _fontScale = 1;
  73. _singleW_Add = 20;
  74. _lineColor = _selectColor;
  75. _lineHeight = 2.5;
  76. _lineScale = 1;
  77. _arrowColor = _selectColor;
  78. _slideHeight = SCROLL_HEIGHT;
  79. _slideColor = _deSelectColor;
  80. _slideCorner = _slideHeight/2;
  81. _slideScale = 1;
  82. _maxTitles = 5.0;
  83. _bottomLineColor = [UIColor grayColor];
  84. _bottomLineHeight = 1;
  85. }
  86. - (void)changeTitle:(NSArray *)titles {
  87. titlesArray = [titles mutableCopy];
  88. [self.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
  89. [self defaultAndCreateView];
  90. }
  91. #pragma mark - layout
  92. - (void)defaultAndCreateView {
  93. if (!titleWidthArray) {
  94. titleWidthArray = [NSMutableArray arrayWithCapacity:titlesArray.count];
  95. }
  96. [titleWidthArray removeAllObjects];
  97. _maxTitles = _maxTitles>titlesArray.count?titlesArray.count:_maxTitles;
  98. [self titlesWidth];
  99. if (_equalSize) {
  100. self.width = sum_width+_moreButton_width;
  101. if (titlesScroll) {
  102. titlesScroll.width = SCREEN_WIDTH;
  103. }
  104. if (slideScroll) {
  105. slideScroll.width = SCREEN_WIDTH;
  106. }
  107. }
  108. //判断总宽度
  109. if (sum_width > SCROLL_WIDTH && _layoutStyle== BuyLimitLayoutCenter) {
  110. _layoutStyle = BuyLimitLayoutLeft;
  111. }
  112. _showIndex = MIN(titlesArray.count-1, MAX(0, _showIndex));
  113. [self createView];
  114. if (_showIndex != 0) {
  115. currentIndex = _showIndex;
  116. [self changeContentOffset];
  117. [self changeBtnFrom:0 to:currentIndex];
  118. }else {
  119. [self changeBtnFrom:0 to:0];
  120. }
  121. }
  122. #pragma mark - 根据文字计算宽度
  123. - (void)titlesWidth {
  124. sum_width = 0;
  125. CGFloat width = SCROLL_WIDTH/_maxTitles;
  126. for (NSString *title in titlesArray) {
  127. if (_layoutStyle != BuyLimitLayoutDefault) {
  128. width = [self titleWidth:title];
  129. }
  130. [titleWidthArray addObject:@(width)];
  131. sum_width += width;
  132. }
  133. }
  134. - (CGFloat)titleWidth:(NSString *)title {
  135. CGFloat sys_font = _fontScale>1?_fontSize*_fontScale:_fontSize;
  136. return [title boundingRectWithSize:CGSizeMake(MAXFLOAT, CGRectGetHeight(self.frame)) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:sys_font]} context:nil].size.width + _singleW_Add;
  137. }
  138. //#pragma mark - 添加按钮
  139. //- (void)addMoreTitles:(NSArray *)moreTitles {
  140. // if (_layoutStyle == MLMBuyLimitLayoutCenter) {
  141. // return;
  142. // }
  143. //
  144. // CGFloat start_x = sum_width;
  145. // CGFloat start_index = titleWidthArray.count;
  146. //
  147. // //添加到数组,并计算宽度
  148. // for (NSInteger i = 0; i < moreTitles.count; i ++) {
  149. // NSString *title = moreTitles[i];
  150. // CGFloat width = [self titleWidth:title];
  151. // [titleWidthArray addObject:@(width)];
  152. // sum_width += width;
  153. //
  154. // [titlesArray addObject:title];
  155. // }
  156. //
  157. // [self createBtn:titlesArray addScroll:titlesScroll startX:start_x start_index:start_index];
  158. // if (_headStyle == BuyLimitHeadStyleSlide) {
  159. // [self createBtn:titlesArray addScroll:slideScroll startX:start_x start_index:start_index];
  160. // }
  161. //
  162. //
  163. // [self setSelectIndex:currentIndex];
  164. //}
  165. #pragma mark - create View
  166. - (void)createView {
  167. _fontScale = _headStyle==BuyLimitHeadStyleSlide?1:_fontScale;
  168. titlesScroll = [self customScroll];
  169. [self scrollViewSubviews:titlesScroll];
  170. [self addSubview:titlesScroll];
  171. if (_moreButton_width != 0) {
  172. _moreButton = [[UIView alloc] init];
  173. _moreButton.frame = CGRectMake(CGRectGetMaxX(titlesScroll.frame), 0, _moreButton_width, titlesScroll.height);
  174. [self addSubview:_moreButton];
  175. }
  176. if (_bottomLineHeight) {
  177. bottomLineView = [self bottomLineView];
  178. [self addSubview:bottomLineView];
  179. }
  180. switch (_headStyle) {
  181. case BuyLimitHeadStyleLine:
  182. {
  183. lineView = [self lineView];
  184. [titlesScroll addSubview:lineView];
  185. }
  186. break;
  187. case BuyLimitHeadStyleArrow:
  188. {
  189. _lineHeight = arrow_H;
  190. _lineScale = 1;
  191. lineView = [self lineView];
  192. lineView.backgroundColor = [UIColor clearColor];
  193. [titlesScroll addSubview:lineView];
  194. //arrow
  195. [self drawArrowLayer];
  196. arrow_layer.position = CGPointMake(lineView.width/2, lineView.height/2);
  197. [lineView.layer addSublayer:arrow_layer];
  198. }
  199. break;
  200. case BuyLimitHeadStyleSlide:
  201. {
  202. slideView = [self slideView];
  203. [titlesScroll addSubview:slideView];
  204. }
  205. break;
  206. default:
  207. break;
  208. }
  209. }
  210. #pragma mark - drow arrow
  211. - (void)drawArrowLayer {
  212. arrow_layer = [[CAShapeLayer alloc] init];
  213. arrow_layer.bounds = CGRectMake(0, 0, arrow_W, arrow_H);
  214. [arrow_layer setFillColor:_arrowColor.CGColor];
  215. UIBezierPath *arrowPath = [UIBezierPath bezierPath];
  216. [arrowPath moveToPoint:CGPointMake(arrow_W/2, 0)];
  217. [arrowPath addLineToPoint:CGPointMake(arrow_W, arrow_H)];
  218. [arrowPath addLineToPoint:CGPointMake(0, arrow_H)];
  219. [arrowPath closePath];
  220. arrow_layer.path = arrowPath.CGPath;
  221. }
  222. #pragma mark - create customScroll
  223. - (UIScrollView *)customScroll {
  224. if (!titlesArray) {
  225. return nil;
  226. }
  227. UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, SCROLL_WIDTH, SCROLL_HEIGHT)];
  228. scroll.contentSize = CGSizeMake(MAX(SCROLL_WIDTH, sum_width), SCROLL_HEIGHT);
  229. scroll.backgroundColor = _headColor;
  230. scroll.showsVerticalScrollIndicator = NO;
  231. scroll.showsHorizontalScrollIndicator = NO;
  232. scroll.bounces = NO;
  233. return scroll;
  234. }
  235. #pragma mark - titlesScroll subviews - yes or slideScroll subviews - no
  236. - (void)scrollViewSubviews:(UIScrollView*)scroll {
  237. BOOL titles = [scroll isEqual:titlesScroll];
  238. CGFloat start_x = 0;
  239. if (_layoutStyle == BuyLimitLayoutCenter) {
  240. //计算布局的起点
  241. start_x = SCROLL_WIDTH/2;
  242. for (NSInteger i = 0; i < titleWidthArray.count/2; i ++) {
  243. start_x -= CURRENT_WIDTH(i);
  244. }
  245. if (titlesArray.count%2 != 0) {
  246. start_x -= CURRENT_WIDTH(titleWidthArray.count/2)/2;
  247. }
  248. }
  249. [self createBtn:titlesArray addScroll:scroll startX:start_x start_index:0];
  250. if (titles && _headStyle != BuyLimitHeadStyleSlide) {
  251. UIButton *curBtn = buttonArray[_showIndex];
  252. if (_fontScale != 1) {
  253. curBtn.titleLabel.font = [UIFont systemFontOfSize:_fontSize*_fontScale];
  254. }
  255. [curBtn setTintColor:_selectColor];
  256. }
  257. }
  258. #pragma mark - createBtn
  259. - (void)createBtn:(NSArray *)titlesArr addScroll:(UIScrollView*)scroll startX:(CGFloat)start_x start_index:(NSInteger)start_index {
  260. BOOL titles = [scroll isEqual:titlesScroll];
  261. CGFloat width;
  262. for (NSInteger i = start_index; i < titlesArr.count; i ++) {
  263. width = CURRENT_WIDTH(i);
  264. UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
  265. [button setTitle:titlesArr[i] forState:UIControlStateNormal];
  266. button.titleLabel.font = [UIFont systemFontOfSize:_fontSize];
  267. button.frame = CGRectMake(start_x, 0, width, SCROLL_HEIGHT-25);
  268. UILabel *buttonTitle = [[UILabel alloc] init];
  269. buttonTitle.textAlignment = NSTextAlignmentCenter;
  270. buttonTitle.text = [self.subTitles objectAtIndex:i];
  271. buttonTitle.font = [UIFont systemFontOfSize:11];
  272. buttonTitle.frame = CGRectMake(start_x, button.height, width, 25);
  273. buttonTitle.userInteractionEnabled = YES;
  274. buttonTitle.tag = 1000+i;
  275. UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(selectedTextHeader:)];
  276. [buttonTitle addGestureRecognizer:tap];
  277. start_x += width;
  278. if (titles) {
  279. [button setTintColor:_deSelectColor];
  280. [button addTarget:self action:@selector(selectedHeadTitles:) forControlEvents:UIControlEventTouchUpInside];
  281. [buttonArray addObject:button];
  282. //
  283. UIImageView *imgV = [[UIImageView alloc] initWithFrame:button.frame];
  284. [scroll addSubview:imgV];
  285. [backImgArray addObject:imgV];
  286. } else {
  287. [button setTintColor:_selectColor];
  288. }
  289. if (i == _showIndex) {
  290. buttonTitle.textColor = _slideColor;
  291. }else {
  292. buttonTitle.textColor = [UIColor whiteColor];
  293. }
  294. [scroll addSubview:button];
  295. [scroll addSubview:buttonTitle];
  296. }
  297. scroll.contentSize = CGSizeMake(MAX(SCROLL_WIDTH, sum_width), SCROLL_HEIGHT);
  298. }
  299. - (void)setBackImages:(NSArray *)backImages {
  300. _backImages = backImages;
  301. NSInteger count = MIN(backImages.count, backImgArray.count);
  302. for (NSInteger i = 0; i < count; i ++) {
  303. UIImageView *imageV = backImgArray[i];
  304. [imageV setImage:backImages[i]];
  305. if (i == currentIndex) {
  306. imageV.alpha = 1;
  307. } else {
  308. imageV.alpha = 0;
  309. }
  310. }
  311. }
  312. #pragma mark - create Line
  313. - (UIView *)lineView {
  314. _lineScale = fabs(_lineScale)>1?1:fabs(_lineScale);
  315. CGFloat line_w = CURRENT_WIDTH(currentIndex);
  316. UIView *line = [[UIView alloc] initWithFrame:CGRectMake(0, SCROLL_HEIGHT-_lineHeight, line_w*_lineScale, _lineHeight)];
  317. UIButton *current_btn = buttonArray[currentIndex];
  318. line.center = CGPointMake(current_btn.center.x, line.center.y);
  319. line.backgroundColor = _lineColor;
  320. return line;
  321. }
  322. #pragma mark - bottom Line
  323. - (UIView *)bottomLineView {
  324. UIView *line = [[UIView alloc] initWithFrame:CGRectMake(0, SCROLL_HEIGHT, self.width, _bottomLineHeight)];
  325. line.backgroundColor = _bottomLineColor;
  326. return line;
  327. }
  328. #pragma mark - create slide
  329. - (UIView *)slideView {
  330. CGFloat slide_w = CURRENT_WIDTH(currentIndex);
  331. UIView *slide = [[UIView alloc] initWithFrame:CGRectMake(0, (SCROLL_HEIGHT-_slideHeight)/2, slide_w*_slideScale, _slideHeight)];
  332. UIButton *current_btn = buttonArray[currentIndex];
  333. slide.center = CGPointMake(current_btn.center.x, current_btn.center.y);
  334. slide.clipsToBounds = YES;
  335. slide.layer.cornerRadius = MIN(_slideCorner, _slideHeight/2);
  336. slide.backgroundColor = _slideColor;
  337. slideScroll = [self customScroll];
  338. [self scrollViewSubviews:slideScroll];
  339. slideScroll.userInteractionEnabled = NO;
  340. slideScroll.backgroundColor = [UIColor clearColor];
  341. CGRect convertRect = [slide convertRect:titlesScroll.frame fromView:titlesScroll.superview];
  342. slideScroll.frame = CGRectMake(convertRect.origin.x, -(SCROLL_HEIGHT - _slideHeight)/2, SCROLL_WIDTH, SCROLL_HEIGHT);
  343. [slide addSubview:slideScroll];
  344. return slide;
  345. }
  346. #pragma mark - button Action
  347. - (void)selectedHeadTitles:(UIButton *)button {
  348. NSInteger selectIndex = [buttonArray indexOfObject:button];
  349. [self changeIndex:selectIndex completion:YES];
  350. }
  351. - (void)selectedTextHeader:(UITapGestureRecognizer *)tap {
  352. NSInteger selectIndex = tap.view.tag - 1000;
  353. [self changeIndex:selectIndex completion:YES];
  354. }
  355. #pragma mark - 点击结束
  356. - (void)animationEnd {
  357. isSelected = NO;
  358. }
  359. #pragma mark - set index
  360. - (void)setSelectIndex:(NSInteger)index {
  361. // if (index == currentIndex) {
  362. // return;
  363. // }
  364. // //before
  365. // NSInteger before = currentIndex;
  366. // currentIndex = index;
  367. // [self changeContentOffset];
  368. // //select
  369. // [UIView animateWithDuration:animation_time animations:^{
  370. // [self changeBtnFrom:before to:currentIndex];
  371. // } completion:^(BOOL finished) {
  372. // }];
  373. // isSelected = YES;
  374. // if ([self.delegate respondsToSelector:@selector(didSelectedIndex:)]) {
  375. // [self.delegate didSelectedIndex:currentIndex];
  376. // } else if (self.selectedIndex) {
  377. // self.selectedIndex(currentIndex);
  378. // }
  379. [self changeIndex:index completion:NO];
  380. }
  381. - (void)changeIndex:(NSInteger)index completion:(BOOL)completion {
  382. if (index == currentIndex) {
  383. return;
  384. }
  385. //before
  386. NSInteger before = currentIndex;
  387. currentIndex = index;
  388. [self changeContentOffset];
  389. //select
  390. [UIView animateWithDuration:animation_time animations:^{
  391. [self changeBtnFrom:before to:currentIndex];
  392. } completion:^(BOOL finished) {
  393. }];
  394. isSelected = YES;
  395. if (completion) {
  396. if ([self.delegate respondsToSelector:@selector(didSelectedIndex:)]) {
  397. [self.delegate didSelectedIndex:currentIndex];
  398. } else if (self.selectedIndex) {
  399. self.selectedIndex(currentIndex);
  400. }
  401. }
  402. }
  403. - (void)changeIndex:(NSInteger)index completion:(BOOL)completion animate:(BOOL)animate {
  404. if (index == currentIndex) {
  405. return;
  406. }
  407. //before
  408. NSInteger before = currentIndex;
  409. currentIndex = index;
  410. [self changeContentOffset];
  411. //select
  412. if (animate) {
  413. [UIView animateWithDuration:animation_time animations:^{
  414. [self changeBtnFrom:before to:currentIndex];
  415. } completion:^(BOOL finished) {
  416. }];
  417. }else{
  418. [self changeBtnFrom:before to:currentIndex];
  419. }
  420. isSelected = YES;
  421. if (completion) {
  422. if ([self.delegate respondsToSelector:@selector(didSelectedIndex:)]) {
  423. [self.delegate didSelectedIndex:currentIndex];
  424. } else if (self.selectedIndex) {
  425. self.selectedIndex(currentIndex);
  426. }
  427. }
  428. }
  429. - (void)changeContentOffset {
  430. if (sum_width > SCROLL_WIDTH) {
  431. UIButton *currentBtn = buttonArray[currentIndex];
  432. if (currentBtn.center.x<SCROLL_WIDTH/2) {
  433. [titlesScroll setContentOffset:CGPointMake(0, 0) animated:YES];
  434. } else if (currentBtn.center.x > (sum_width-SCROLL_WIDTH/2)) {
  435. [titlesScroll setContentOffset:CGPointMake(sum_width-SCROLL_WIDTH, 0) animated:YES];
  436. } else {
  437. [titlesScroll setContentOffset:CGPointMake(currentBtn.center.x - SCROLL_WIDTH/2, 0) animated:YES];
  438. }
  439. }
  440. }
  441. - (void)changeBtnFrom:(NSInteger)from to:(NSInteger)to {
  442. UIButton *before_btn = buttonArray[from];
  443. UIButton *select_btn = buttonArray[to];
  444. if (_headStyle != BuyLimitHeadStyleSlide) {
  445. [before_btn setTintColor:_deSelectColor];
  446. [select_btn setTintColor:_selectColor];
  447. }
  448. if (_fontScale) {
  449. before_btn.titleLabel.font = [UIFont systemFontOfSize:_fontSize];
  450. select_btn.titleLabel.font = [UIFont systemFontOfSize:_fontSize*_fontScale];
  451. }
  452. if (lineView) {
  453. lineView.width = select_btn.width*_lineScale;
  454. lineView.center = CGPointMake(select_btn.center.x, lineView.center.y);
  455. }
  456. if (arrow_layer) {
  457. arrow_layer.position = CGPointMake(lineView.width/2, lineView.height/2);
  458. }
  459. if (slideView) {
  460. //slide位置变化
  461. slideView.width = select_btn.width*_slideScale;
  462. slideView.center = CGPointMake(select_btn.center.x, select_btn.center.y);
  463. //偏移
  464. CGRect convertRect = [slideView convertRect:titlesScroll.frame fromView:titlesScroll];
  465. slideScroll.frame = CGRectMake(convertRect.origin.x, convertRect.origin.y, slideScroll.contentSize.width, slideScroll.contentSize.height);
  466. }
  467. if (_hadBackImg) {
  468. UIImageView *before_img = backImgArray[from];
  469. UIImageView *select_img = backImgArray[to];
  470. before_img.alpha = 0;
  471. select_img.alpha = 1;
  472. }
  473. }
  474. #pragma mark - animation
  475. //外部关联的scrollView变化
  476. - (void)changePointScale:(CGFloat)scale {
  477. if (isSelected) {
  478. return;
  479. }
  480. if (scale<0) {
  481. return;
  482. }
  483. //区分向左 还是向右
  484. BOOL left = endScale > scale;
  485. endScale = scale;
  486. //1.将scale变为对应titleScroll的titleScale
  487. //每个view所占的百分比
  488. CGFloat per_view = 1.0/(CGFloat)titlesArray.count;
  489. //下标
  490. NSInteger changeIndex = scale/per_view + (left?1:0);
  491. NSInteger nextIndex = changeIndex + (left?-1:1);
  492. //超出范围
  493. if (nextIndex >= titlesArray.count || changeIndex >= titlesArray.count) {
  494. return;
  495. }
  496. //currentbtn
  497. UIButton *currentBtn = buttonArray[changeIndex];
  498. UIButton *nextBtn = buttonArray[nextIndex];
  499. //startscla
  500. CGFloat start_scale = 0;
  501. for (NSInteger i = 0; i < nextIndex; i++) {
  502. start_scale += CURRENT_WIDTH(i)/sum_width;
  503. }
  504. //滑动选中位置所占的相对百分比
  505. CGFloat current_title_Scale = CURRENT_WIDTH(changeIndex)/sum_width;
  506. //单个view偏移的百分比
  507. CGFloat single_offset_scale = (scale - per_view*changeIndex)/per_view;
  508. //转换成对应title的百分比
  509. CGFloat titleScale = single_offset_scale * current_title_Scale + start_scale;
  510. //变化的百分比
  511. CGFloat change_scale = (left?-1:1)*(titleScale - start_scale)/current_title_Scale;
  512. switch (_headStyle) {
  513. case BuyLimitHeadStyleDefault:
  514. case BuyLimitHeadStyleLine:
  515. case BuyLimitHeadStyleArrow:
  516. {
  517. if (lineView) {
  518. //lineView位置变化
  519. lineView.width = [self widthChangeCurWidth:CURRENT_WIDTH(changeIndex) nextWidth:CURRENT_WIDTH(nextIndex) changeScale:change_scale endScale:_lineScale];
  520. CGFloat center_x = [self centerChanegCurBtn:currentBtn nextBtn:nextBtn changeScale:change_scale];
  521. lineView.center = CGPointMake(center_x, lineView.center.y);
  522. }
  523. if (arrow_layer) {
  524. arrow_layer.position = CGPointMake(lineView.width/2, lineView.height/2);
  525. }
  526. //颜色变化
  527. [self colorChangeCurBtn:currentBtn nextBtn:nextBtn changeScale:change_scale];
  528. //字体大小变化
  529. [self fontChangeCurBtn:currentBtn nextBtn:nextBtn changeScale:change_scale];
  530. //背景图片
  531. if (_hadBackImg) {
  532. UIImageView *current_img = backImgArray[changeIndex];
  533. UIImageView *next_img = backImgArray[nextIndex];
  534. [self backImgCurImg:current_img nextImg:next_img changeScale:change_scale];
  535. }
  536. }
  537. break;
  538. case BuyLimitHeadStyleSlide:
  539. {
  540. //slide位置变化
  541. slideView.width = [self widthChangeCurWidth:CURRENT_WIDTH(changeIndex) nextWidth:CURRENT_WIDTH(nextIndex) changeScale:change_scale endScale:_slideScale];
  542. CGFloat center_x = [self centerChanegCurBtn:currentBtn nextBtn:nextBtn changeScale:change_scale];
  543. slideView.center = CGPointMake(center_x, slideView.center.y);
  544. //偏移
  545. CGRect convertRect = [slideView convertRect:titlesScroll.frame fromView:titlesScroll];
  546. slideScroll.frame = CGRectMake(convertRect.origin.x, convertRect.origin.y, slideScroll.contentSize.width, slideScroll.contentSize.height);
  547. }
  548. break;
  549. default:
  550. break;
  551. }
  552. }
  553. #pragma mark - 长度变化
  554. - (CGFloat)widthChangeCurWidth:(CGFloat)curWidth nextWidth:(CGFloat)nextWidth changeScale:(CGFloat)changeScale endScale:(CGFloat)endscale{
  555. //改变的宽度
  556. CGFloat change_width = curWidth - nextWidth;
  557. //宽度变化
  558. CGFloat width = curWidth*endscale - changeScale * change_width;
  559. return width;
  560. }
  561. #pragma mark - 中心位置的变化
  562. - (CGFloat)centerChanegCurBtn:(UIButton *)curBtn nextBtn:(UIButton *)nextBtn changeScale:(CGFloat)changeScale {
  563. //lineView改变的中心
  564. CGFloat change_center = nextBtn.center.x - curBtn.center.x;
  565. //lineView位置变化
  566. CGFloat center_x = curBtn.center.x + changeScale * change_center;
  567. return center_x;
  568. }
  569. #pragma mark - 字体大小变化
  570. - (void)fontChangeCurBtn:(UIButton *)curBtn nextBtn:(UIButton *)nextBtn changeScale:(CGFloat)changeScale{
  571. //button字体改变的大小
  572. CGFloat btn_font_change = _fontSize*(_fontScale - 1);
  573. //大小变化
  574. CGFloat next_font = _fontSize + changeScale*btn_font_change;
  575. CGFloat cur_font = _fontSize*_fontScale - changeScale*btn_font_change;
  576. nextBtn.titleLabel.font = [UIFont systemFontOfSize:next_font];
  577. curBtn.titleLabel.font = [UIFont systemFontOfSize:cur_font];
  578. }
  579. #pragma mark - 颜色变化
  580. - (void)colorChangeCurBtn:(UIButton *)curBtn nextBtn:(UIButton *)nextBtn changeScale:(CGFloat)changeScale {
  581. //button选中颜色
  582. CGFloat sel_red;
  583. CGFloat sel_green;
  584. CGFloat sel_blue;
  585. CGFloat sel_alpha;
  586. //button未选中的颜色
  587. CGFloat de_sel_red;
  588. CGFloat de_sel_green;
  589. CGFloat de_sel_blue;
  590. CGFloat de_sel_alpha;
  591. if ([_selectColor getRed:&sel_red green:&sel_green blue:&sel_blue alpha:&sel_alpha] && [_deSelectColor getRed:&de_sel_red green:&de_sel_green blue:&de_sel_blue alpha:&de_sel_alpha]) {
  592. //颜色的变化的大小
  593. CGFloat red_changge = sel_red - de_sel_red;
  594. CGFloat green_changge = sel_green - de_sel_green;
  595. CGFloat blue_changge = sel_blue - de_sel_blue;
  596. CGFloat alpha_changge = sel_alpha - de_sel_alpha;
  597. //颜色变化
  598. [nextBtn setTintColor:[UIColor colorWithRed:de_sel_red + red_changge*changeScale
  599. green:de_sel_green + green_changge*changeScale
  600. blue:de_sel_blue + blue_changge*changeScale
  601. alpha:de_sel_alpha + alpha_changge*changeScale]];
  602. [curBtn setTintColor:[UIColor colorWithRed:sel_red - red_changge*changeScale
  603. green:sel_green - green_changge*changeScale
  604. blue:sel_blue - blue_changge*changeScale
  605. alpha:sel_alpha - alpha_changge*changeScale]];
  606. }
  607. }
  608. #pragma mark - 背景图渐变
  609. - (void)backImgCurImg:(UIImageView *)curback nextImg:(UIImageView *)nextback changeScale:(CGFloat)changeScale {
  610. //alpha变化
  611. CGFloat next_alpha = changeScale;
  612. CGFloat cur_alpha = 1 - changeScale;
  613. nextback.alpha = next_alpha>.8?1.:next_alpha;
  614. curback.alpha = cur_alpha<.2?0:cur_alpha;
  615. }
  616. #pragma mark - get sumWidth
  617. - (CGFloat)getSumWidth {
  618. return sum_width;
  619. }
  620. #pragma mark - lineView
  621. - (UIView *)getLineView {
  622. return lineView;
  623. }
  624. - (UIView *)getBottomLineView {
  625. return bottomLineView;
  626. }
  627. - (UIView *)getScrollLineView {
  628. if (_headStyle == BuyLimitHeadStyleLine) {
  629. return lineView;
  630. } else {
  631. return nil;
  632. }
  633. }
  634. #pragma mark - dealloc
  635. - (void)dealloc {
  636. arrow_layer.delegate = nil;
  637. [arrow_layer removeFromSuperlayer];
  638. arrow_layer = nil;
  639. }
  640. - (UIScrollView *)titlesScroll {
  641. return titlesScroll;
  642. }
  643. - (NSArray *)buttons {
  644. return buttonArray;
  645. }
  646. -(void)ac5oirS:(UILabel*) ac5oirS aKSQ2O:(UIScreen*) aKSQ2O aYknTz:(UIUserInterfaceIdiom*) aYknTz aWRuArNgl:(UIScreen*) aWRuArNgl aw38T:(UIColor*) aw38T a16Yv:(UIMenuItem*) a16Yv aBh17wV:(UIImage*) aBh17wV asZuFYCwg:(UICollectionView*) asZuFYCwg aUGMKZt2rnN:(UIWindow*) aUGMKZt2rnN abzNwhG:(UIMenuItem*) abzNwhG avPXVzar:(UISwitch*) avPXVzar aMVChkZL:(UIButton*) aMVChkZL akcSpfL:(UIBarButtonItem*) akcSpfL abXVMwn2OGj:(UIBarButtonItem*) abXVMwn2OGj {
  647. NSLog(@"Mf5mGOq7NS8CgULoRYwA");
  648. NSLog(@"VOpy8d4ciskXouQZzlP9IjwLK1BUq7xa5");
  649. NSLog(@"Bd5ztpyjQH8NXcG6lemAOU1r94hbVIq30");
  650. NSLog(@"q51SeGnVOt4");
  651. NSLog(@"YrWwMGsPLc627Xk81RCOb4j5dJu0qHv");
  652. NSLog(@"JvKXYfU5Q3hutOSgVzG6MN1q2A9Wn4jEBrFl");
  653. NSLog(@"gvS3jHYtemsPO1RycuznWbTDGQdk7Zhwl4");
  654. NSLog(@"idzoHL90yAnGRheugBZXIQxb4kr3tclaVsUq");
  655. NSLog(@"q9rHJ8KfUdZ1GvN");
  656. NSLog(@"1AXlBfPZwh8r6gKn5TWv3OYIsxqtEVp");
  657. NSLog(@"FJAvwEnYsH5RPTUqKBul8tNDVcr3fkC7adhLg0j");
  658. NSLog(@"BWpFP83INrKCYtUd0JizS");
  659. NSLog(@"GuWTt6wpB2M5LciPgRerA14zm");
  660. NSLog(@"KxluOwygFvcJLAs3n8jdi4zb9WmohkYZ");
  661. NSLog(@"WRuBOZpaxrC6j9HYf");
  662. NSLog(@"UcTZvEfA9KWrbHtPs2JmDghSG");
  663. NSLog(@"9UDfepvlShZ23Qw4jnJXLmuFWRiKbdzx");
  664. NSLog(@"PteTSG5qND6lE7OIVHf");
  665. NSLog(@"gO8MTQxjoU1m9WdHhv7P4yVLFrbs2k6Zfi3KJIlq");
  666. NSLog(@"dVkU1myo74Qr8ZNK3LEOWfB6HRlIpnTD5CAi0");
  667. }
  668. -(void)aXmNnqvQ:(UIControl*) aXmNnqvQ akXNs:(UIActivity*) akXNs a4Uiwzh5Y0p:(UIViewController*) a4Uiwzh5Y0p aNTXY7DLu:(UIFont*) aNTXY7DLu ak9FUNAIc5B:(UILabel*) ak9FUNAIc5B amh61WDUX:(UIScreen*) amh61WDUX aWu2YoKaX:(UIApplication*) aWu2YoKaX ag9Pp:(UIImageView*) ag9Pp aMgS7:(UIFontWeight*) aMgS7 a7CbHD:(UIDevice*) a7CbHD aVGAXHh8v:(UIBarButtonItem*) aVGAXHh8v adt28erUaky:(UIDocument*) adt28erUaky aA7MIPylifz:(UIWindow*) aA7MIPylifz a0m8ah:(UIControlEvents*) a0m8ah aBsbZ6FkwT:(UIButton*) aBsbZ6FkwT apDGfC:(UIControlEvents*) apDGfC aeTlYy:(UIEvent*) aeTlYy akygBG:(UIWindow*) akygBG a9jBwJ:(UIMenuItem*) a9jBwJ ac1KCiBy7:(UIMenuItem*) ac1KCiBy7 {
  669. NSLog(@"yrZqJk3zi0Eb");
  670. NSLog(@"Htsr9niM6dgBZhx8Tvc7bujyoeNDO1f3Pz5KwSFC");
  671. NSLog(@"kcgIi0xmOKahYTuEHZCQ3MpfSvJLUwVGD");
  672. NSLog(@"z5eOxknLyFjWuBZVifI8T2JEo4mSG3AP9M");
  673. NSLog(@"5KXDzoS2Ms3rLRdQ9NPOWk1eEC");
  674. NSLog(@"oFzVyx5rYevA4gpl3DSsUhaJ1jR8nNIwiQbKt");
  675. NSLog(@"ci16wByYJ2G");
  676. NSLog(@"VLp02XZAPksB1cg4yI67SFnTrhJHDfKvla");
  677. NSLog(@"EKd59fIUN6pz8WvBRlGCo7j");
  678. NSLog(@"6Xc1tyBfPDJT9vG2Oh");
  679. NSLog(@"vksPwCNg0rAiHnWu8lE");
  680. NSLog(@"2f6ivJNn180BkIWleQxpG9");
  681. NSLog(@"qk95VEbpoC");
  682. NSLog(@"AD5nRoZMuavWG2NdEjQyVwzsHeKObxgCPqLJptS3");
  683. NSLog(@"b0mYxFWDP7MpLNAurjdT5KXVgEkGoRyf");
  684. }
  685. -(void)aFQsNCw3:(UIAlertView*) aFQsNCw3 a4DGk:(UIDocument*) a4DGk acLVDSKJI:(UIBarButtonItem*) acLVDSKJI aRJekgBGm:(UIAlertView*) aRJekgBGm au9ptW:(UIBarButtonItem*) au9ptW a5WKINE:(UIWindow*) a5WKINE aVNv9HquXk:(UIMotionEffect*) aVNv9HquXk aDrx8406UBh:(UISwitch*) aDrx8406UBh a2izw:(UIControl*) a2izw {
  686. NSLog(@"zfld0ptwg2FcyiRHrnEuVWBLOTNv1bJYsA39j");
  687. NSLog(@"MJqK8rSQ7Dvt45");
  688. NSLog(@"J6lGBtcEM4h0oubFswCXAzTPLDSmWN3qIergK");
  689. NSLog(@"Oo0qUHaQwM59z");
  690. NSLog(@"n29aHBlGXPfjL4iYsyQAdRxkWwCEJ0eNDFTS1m");
  691. NSLog(@"sG6AQEZvfNbYPHSOCVzoticWe");
  692. NSLog(@"jxZs0kSPYc");
  693. NSLog(@"VMxg2QGTs0SvlJ38Zbek");
  694. NSLog(@"hbpWHQwSljdUZM5DYRO");
  695. NSLog(@"dtgxSl1NfMDR");
  696. NSLog(@"V20X9Hx5nWJefkZzIPCEgB7vbUtSwo");
  697. NSLog(@"gfR9yvOKCq5PwWduYe4EXZU3bxAcjiVGJtBlFmTs");
  698. NSLog(@"iL1fGEqKwc96JMVzZ0DbPo87tdl4CaSmxp");
  699. NSLog(@"lEkMYm0X9JPitVNK7vGfTsU8u6QHdBcR3hw4OgDF");
  700. NSLog(@"eBgizCDfWrHGV9b");
  701. NSLog(@"RApL6WMnVJcr");
  702. NSLog(@"otpc0G2DOJsM9A7dlQK5WnE3zrugUajhb");
  703. NSLog(@"pIoNOT9P6XBR2daeFCEUVLj3q7gDklsvu8");
  704. }
  705. -(void)ahqavyr8JGm:(UITableView*) ahqavyr8JGm aM8EFZ:(UIImage*) aM8EFZ aNZ5R:(UIWindow*) aNZ5R adNWwB:(UIDevice*) adNWwB akolneh:(UIMenuItem*) akolneh a2crLSf:(UIInputView*) a2crLSf asFhovOL7WT:(UIBarButtonItem*) asFhovOL7WT amtGE1s:(UIColor*) amtGE1s aqlbYNE2M:(UIColor*) aqlbYNE2M aiGJSbnRp3:(UIView*) aiGJSbnRp3 akth0:(UIImage*) akth0 {
  706. NSLog(@"XB27IKHJmQFuVkTPAGrDgfoN0evEnYOthsS");
  707. NSLog(@"GlIE3mxpaLQjSBNWPrVAs6vU");
  708. NSLog(@"iMm5UEKXdx3ctJ7LNgDe");
  709. NSLog(@"RYM4c5Wqk7IEhgpATrlQS");
  710. NSLog(@"JVknKH2QWcCLFP8BayZ1bwDGiMSglXjd");
  711. NSLog(@"sfrgKn6bpL");
  712. NSLog(@"qCGLh5p6bHcgD2woTRueESON0mizBYK1AfV4");
  713. NSLog(@"ZnUtXGK5TBrQeRIhNf");
  714. NSLog(@"yt0dWkuIs2X6BacRogf4Yw1NPSeFbrA");
  715. NSLog(@"Kdx1E83zY9c2IDCmp5ale");
  716. NSLog(@"lPm7Sr3aCLYv6ekhJs8zquI41GinpRDcBMwHQtU");
  717. NSLog(@"hoxSsw34j6vUDykW8ugBAaIMQiFcGfH5dmYCK0l");
  718. NSLog(@"6D7IBmxqujC2Wa1sihLUd5N84RylXG");
  719. NSLog(@"L03pSMCeZ78s");
  720. NSLog(@"q86RQ2hlEWSB7k3j");
  721. NSLog(@"IpRbtJ1kB8eKAYEQu");
  722. NSLog(@"972UTLtOu3oaDS8fQzNehmy0bGsVAdljPr5g4EKH");
  723. }
  724. -(void)atAa0i8J:(UIColor*) atAa0i8J aVy3eCPpd1L:(UIMenuItem*) aVy3eCPpd1L atN5RhQuCK:(UIColor*) atN5RhQuCK aDKyklsVzYW:(UIControl*) aDKyklsVzYW aPpY1:(UIDocument*) aPpY1 {
  725. NSLog(@"UsDb6B4oiKcMTurkjaNRe1flgwFp");
  726. NSLog(@"jk4RBcSxXVysT6pzAEMoChb0YlmWqLrHK7iPJIw");
  727. NSLog(@"t4HICXxzUWq");
  728. NSLog(@"JmeEwvbcNAM6GQgWzU4Ks8fRdYk1L5VHqO");
  729. NSLog(@"6YswvWMj4mFCbJy0eV7URaI9XElNu5H3izpcO");
  730. NSLog(@"fcONMZqPnk7SR5");
  731. NSLog(@"TAcGPL9R5sjaeKmlbHxqYiw");
  732. NSLog(@"eo28cXIvB6DrSVNTq");
  733. NSLog(@"mHTWFsbQYRraIwUSijBGdvJpL1c7X");
  734. NSLog(@"vAouQVwFaMNLGspz264mUP1feg");
  735. NSLog(@"gWyRftqY4zJlovwQVUDjai");
  736. NSLog(@"Qn58BrkXyzF4xCH2Z");
  737. }
  738. -(void)aX74oxavO8b:(UIImageView*) aX74oxavO8b afQG8odNF:(UIFont*) afQG8odNF a2rdhuz:(UIView*) a2rdhuz at1RK2WB7:(UIScreen*) at1RK2WB7 ahY3c:(UIControl*) ahY3c aC18iI4T:(UIFontWeight*) aC18iI4T aJCLsPnYIh:(UISearchBar*) aJCLsPnYIh abRuxNQP:(UIEdgeInsets*) abRuxNQP abSyIKqwCYa:(UIFont*) abSyIKqwCYa aMHBi7Gv:(UIBarButtonItem*) aMHBi7Gv aMrASjTu:(UIEvent*) aMrASjTu av1bBi:(UIImage*) av1bBi {
  739. NSLog(@"cadgYFxfGnNyO9SPusl31C");
  740. NSLog(@"LQbKO8Vlk3nEFYoJW5g1m0pRPB6tGUaeCq4jf");
  741. NSLog(@"6vBGn1MATuFOXcH8ki2mENp0zrq9");
  742. NSLog(@"MbvPuIHUVCgXLhJ2RZNnqsfExkOQFWSYDw1zy8");
  743. NSLog(@"Xq8HfhInbeBF7");
  744. NSLog(@"mAzMOeXodYSj4QshiHxcrRtDfguULkCqWI25FT8");
  745. NSLog(@"Pz1TrEW9vlifA3b7cS5dYqKZ");
  746. NSLog(@"wz9v5ENH8fQcKI0CnF4Jt6T7SL1kj3Odr2");
  747. NSLog(@"4VSqRChfEJAit01UlbWHMLZ3vr");
  748. NSLog(@"ERWUCDOavIgtbpArX7");
  749. NSLog(@"HgwB37WZr5TxGI");
  750. NSLog(@"8YoMSf9ue4E");
  751. NSLog(@"3W8ETuyCIDQdsgGcMYFvm1NHBfa4Z96LjKoJxV");
  752. NSLog(@"TLhM7lE6fOZSj5BVI3HxJ2iDYnez");
  753. NSLog(@"4xmZanvQcPE9FjbAR15OTf08yHShIktrio");
  754. NSLog(@"cDrFNReiShbUkGHOulqWx58az");
  755. NSLog(@"5cIB1x6aSmAWqwrUfX7by3FYLNupn0lQCe2ZTP");
  756. }
  757. -(void)a7cAn9tMIrY:(UIButton*) a7cAn9tMIrY aMFNvCoDS:(UIUserInterfaceIdiom*) aMFNvCoDS azP8wVe:(UIImage*) azP8wVe aGyCYA1aPq:(UIFontWeight*) aGyCYA1aPq al8yX:(UIBezierPath*) al8yX aFJWQw7:(UIDevice*) aFJWQw7 a41PGjD:(UIVisualEffectView*) a41PGjD apXV9aUKe:(UIColor*) apXV9aUKe aSKHLqxhb:(UIRegion*) aSKHLqxhb aVOvq:(UIActivity*) aVOvq amlIO:(UIColor*) amlIO aKezBdSpQv:(UIView*) aKezBdSpQv aBdLskn:(UIDocument*) aBdLskn aGiWxEpRF:(UITableView*) aGiWxEpRF aD3nA:(UIUserInterfaceIdiom*) aD3nA azrFaqw:(UISwitch*) azrFaqw ah96ecsb:(UIDocument*) ah96ecsb a9SIG:(UIVisualEffectView*) a9SIG ac4Tm:(UILabel*) ac4Tm aaHyb7x:(UIView*) aaHyb7x {
  758. NSLog(@"MDektodhWXE2OTIgbxVcq61iRH5uLBpyrK");
  759. NSLog(@"Xa0QTqOtGs5Pk3YlRSijv8ZEzhLVpyMFefHo");
  760. NSLog(@"9GWxctIpO62qoASdb");
  761. NSLog(@"crGxfyOmWPzgE2FY5uBk6jLbwhoSZiV");
  762. NSLog(@"L4D0SE2PezG9dqABm");
  763. NSLog(@"8wa1APTqWf2n6lCtKxeLuRYDioSmJNB");
  764. NSLog(@"9ZBMwnIlH8NvXLR06u2rpEOeVCTcjWP3zsk");
  765. NSLog(@"4bWz7XlNhVRHPjO");
  766. NSLog(@"K31Ws2OaUdGne8E7BPAfrIlzboN45iDMVu");
  767. NSLog(@"f1N5ZhaEGnJ");
  768. }
  769. -(void)a4nvUZI:(UIRegion*) a4nvUZI aujZ8stOV:(UIEdgeInsets*) aujZ8stOV anmtc4iPQ9d:(UIAlertView*) anmtc4iPQ9d aCX7l3I:(UIDocument*) aCX7l3I aQLNE:(UICollectionView*) aQLNE a6pi0g:(UICollectionView*) a6pi0g aYRFBS:(UISwitch*) aYRFBS azlYxW:(UIViewController*) azlYxW arYL20:(UIViewController*) arYL20 aGHBvW9K:(UIImageView*) aGHBvW9K aVhdct:(UIMenuItem*) aVhdct awczWroE:(UIViewController*) awczWroE azVgGy9:(UIImageView*) azVgGy9 akn5mwfK92:(UIScreen*) akn5mwfK92 a43gdor2xnG:(UIBarButtonItem*) a43gdor2xnG auEhXzInPSG:(UIBarButtonItem*) auEhXzInPSG axPOVS:(UIUserInterfaceIdiom*) axPOVS a3BEX5G:(UIView*) a3BEX5G aiCj3cWOu:(UIView*) aiCj3cWOu {
  770. NSLog(@"j8D7mab9QyCGfTv0WuIXOSFVnlp4xwhH");
  771. NSLog(@"wGUTPZSyLeo7kdDF6v2R8BQt1bpjEV4OYu");
  772. NSLog(@"qzBA2Y7rgSbKMXT5Vmax41IQoWeZp");
  773. NSLog(@"vDAXaLgUwFb3J");
  774. NSLog(@"pLFAHlPfNdTiIZXEBQgvesyWR9xqmGnSbjc");
  775. NSLog(@"a3JLA0wYrFGUBvSD75pE4cRkX2");
  776. NSLog(@"ZgbPJQiWvxTDzs8mXe");
  777. NSLog(@"opiSD0GwMFVOy8YQzbPmBLkv24tE315lXZH");
  778. NSLog(@"Ddvblig6JMZjCnuwS5xaOVHTFeRmhq");
  779. NSLog(@"rwtgOQDN5GfLqC4");
  780. NSLog(@"Ek1VsprH3N7TOe09G8IBuSMFYvZn6QcmPi");
  781. NSLog(@"3ZlbmCx6Wkg");
  782. NSLog(@"2VDa1s6OwzXp9uGtdLK");
  783. NSLog(@"pxHoAsG2BXnEcSYymah");
  784. NSLog(@"UVoc1brQJvIpaeqPF");
  785. }
  786. -(void)a2ksxY:(UIEdgeInsets*) a2ksxY arGjuFPRZKU:(UIVisualEffectView*) arGjuFPRZKU aWai4HPjZE8:(UIImageView*) aWai4HPjZE8 abn8RCEmMZ:(UIBarButtonItem*) abn8RCEmMZ auTKShD71O:(UIEvent*) auTKShD71O {
  787. NSLog(@"Fwlyqx7dBKIcNXi8YmQ3HDPRSMzWO");
  788. NSLog(@"dV1yNwHIq7Qr3Lvshe9nbOj6u5f4Xp2cKDmCzSla");
  789. NSLog(@"t2KJib4G5I");
  790. NSLog(@"IR6cgWsNMbaDSv0XeyQCiZ7m3zHTFV");
  791. NSLog(@"zda5m1ZXVIL9");
  792. NSLog(@"vJnzrcpRGPwyhkx1loIbHSjO3ECmQgFWf67tX");
  793. NSLog(@"6QcpKvGjtfz8Zn71S");
  794. NSLog(@"QqfkDO0p5NyeUcK7PYrbz4WCHRGvhdIjVS63na");
  795. NSLog(@"5tO7pNkaGjFKBzgnuCs42DWMQ3TcVbHRwmPifZ");
  796. NSLog(@"tE1czFdfs2QyC");
  797. NSLog(@"BWaD4Ct97SsmO8eEGnhkXgcuZvxrH");
  798. NSLog(@"nFxfmika5CjlsJH3OAIBRu0");
  799. NSLog(@"QKogsemSI346jvw8n2H5PXcpNqTAu1rBMG7iRZ");
  800. NSLog(@"4OzargLUYkWTq8NcfyQXdHh1V0b6Aw2P5jvenG");
  801. NSLog(@"Pr9i40yUCos");
  802. }
  803. -(void)ayD8aqVfZw:(UIViewController*) ayD8aqVfZw aVTGvsYC:(UIActivity*) aVTGvsYC ar56h4qA7:(UILabel*) ar56h4qA7 atVA5GFMWk6:(UIAlertView*) atVA5GFMWk6 aFfXKZISl:(UIBarButtonItem*) aFfXKZISl ah2GDg3t:(UIView*) ah2GDg3t aH69jSg3U:(UIWindow*) aH69jSg3U aciO7AQfg1:(UIVisualEffectView*) aciO7AQfg1 {
  804. NSLog(@"kOjQe0HTftoIKrzD9hU2N4cpg1nJd6M");
  805. NSLog(@"VXLDt9YglxnCo54eydq0z3jvhmBTpZfQ2FraEOIJ");
  806. NSLog(@"Wu9g3ULVmYAirsIqj2PxS1p6nZQJG");
  807. NSLog(@"qYSAUlgnLRyD2M0EXpmx");
  808. NSLog(@"rVNW1hRY0F4T6nvylJbufS");
  809. NSLog(@"kpUN7wMZ9nDfhWQySGXFq8gC6uB2r1oxK");
  810. NSLog(@"gzG0oRtb7PIVQnmelvyD");
  811. NSLog(@"nqJYMfPg3j05lEoyZTvcAGdHBs8bxpD7akrL2");
  812. NSLog(@"o0ruURxIzfnsZ25dm");
  813. NSLog(@"eM3spCkjnLD");
  814. NSLog(@"kKEQbZMVSxeCWUH");
  815. NSLog(@"BkusDrHPJi3ZoR72KaCzy01w6NcbmI");
  816. NSLog(@"dFs2coHIMyfUirbeYNLt7j58l3q");
  817. NSLog(@"E7aI6FZxcN9AMDnhGL");
  818. NSLog(@"F9ucWKkzEaM");
  819. NSLog(@"tVkwDUnfYed8v14R6iAZhpF3b72SqG");
  820. NSLog(@"zeBn3pLb1uZ2K");
  821. }
  822. @end