两折买改口袋样式

LZMNavigationBar.m 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374
  1. //
  2. // LZMNavigationBar.m
  3. // YouHuiProject
  4. //
  5. // Created by 小花 on 2018/1/16.
  6. // Copyright © 2018年 kuxuan. All rights reserved.
  7. //
  8. #import "LZMNavigationBar.h"
  9. static const float NavigationBar_Title_Font_Size = 16.0f;
  10. static NSString *const Font_Default_Medium = @"PingFangSC-Medium";
  11. @interface LZMNavigationBar(){
  12. NSArray<UIButton*> *_leftButtons;
  13. BOOL _isCustomTitleView;
  14. UIView* _titleView;
  15. UIView* _titleLabel;
  16. NSArray<UIButton*>* _rightButtons;
  17. UIImageView *_bgImageV;
  18. UIView *_bottomLine;
  19. }
  20. @end
  21. @implementation LZMNavigationBar
  22. - (instancetype)initWithFrame:(CGRect)frame
  23. {
  24. self = [super initWithFrame:frame];
  25. if (self) {
  26. _isCustomTitleView = NO;
  27. [self drawView];
  28. }
  29. return self;
  30. }
  31. - (void)drawView
  32. {
  33. _bgImageV = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.width, self.height)];
  34. // [_bgImageV setImage:bgImg];
  35. _bgImageV.hidden = YES;
  36. [self addSubview:_bgImageV];
  37. self.backgroundColor = [UIColor whiteColor];
  38. _bottomLine = [[UIView alloc] initWithFrame:CGRectMake(0, self.frame.size.height-1, self.frame.size.width, 1)];
  39. _bottomLine.backgroundColor = [UIColor YHColorWithHex:0xdddddd];
  40. [self addSubview:_bottomLine];
  41. _bottomLine.hidden = YES;
  42. }
  43. #pragma mark - Public Method
  44. - (void)setBackButtonWithTarget:(id)target selector:(SEL)selector
  45. {
  46. UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom];
  47. button.bounds = CGRectMake(0, 0, 44.0f, 44.0f);
  48. button.frame = CGRectMake(0, KStatusBarHeight, 44.0f, 44.0f);
  49. // [button setBackgroundImage:[UIImage imageWithColor:[UIColor clearColor] frame:button.bounds] forState:UIControlStateNormal];
  50. // [button setBackgroundImage:[UIImage imageWithColor:[UIColor clearColor] frame:button.bounds] forState:UIControlStateHighlighted];
  51. // [button setBackgroundImage:[UIImage imageWithColor:[UIColor clearColor] frame:button.bounds] forState:UIControlStateDisabled];
  52. [button setImage:[UIImage imageNamed:@"back" ] forState:UIControlStateNormal];
  53. [button setImage:[UIImage imageNamed:@"back" ] forState:UIControlStateHighlighted];
  54. [self setCustomButtonWithButton:button target:target selector:selector];
  55. }
  56. - (void)setCustomButtonWithButton:(UIButton *)button target:(id)target selector:(SEL)selector
  57. {
  58. if (!button) {
  59. _leftButtons = nil;
  60. [self layoutElement];
  61. return;
  62. }
  63. _leftButtons = @[button];
  64. [button addTarget:target action:selector forControlEvents:UIControlEventTouchUpInside];
  65. [self setCustomLeftButtons:_leftButtons];
  66. }
  67. - (void)setCustomLeftButtons:(NSArray<UIButton*>*)buttons
  68. {
  69. for (UIButton *button in _leftButtons) {
  70. [button removeFromSuperview];
  71. }
  72. _leftButtons = buttons;
  73. [self layoutElement];
  74. }
  75. - (void)setCustomRightButtons:(NSArray<UIButton *> *)buttons
  76. {
  77. for (UIButton* button in _rightButtons) {
  78. [button removeFromSuperview];
  79. }
  80. _rightButtons = buttons;
  81. for (UIButton* button in _rightButtons) {
  82. [self addSubview:button];
  83. }
  84. [self layoutElement];
  85. }
  86. - (void)setNavTitle:(NSString *)title
  87. {
  88. [_titleView removeFromSuperview];
  89. _titleView = nil;
  90. _titleView = [[UIView alloc] init];
  91. _titleView.backgroundColor = [UIColor clearColor];
  92. UILabel* label = [[UILabel alloc] init];
  93. label.font = [UIFont fontWithName:Font_Default_Medium size:NavigationBar_Title_Font_Size];
  94. label.textAlignment = NSTextAlignmentCenter;
  95. label.textColor = [UIColor YHColorWithHex:0x333333];
  96. label.text = title;
  97. _titleLabel = label;
  98. [_titleView addSubview:label];
  99. [self addSubview:_titleView];
  100. _isCustomTitleView = NO;
  101. [self layoutElement];
  102. }
  103. - (void)setCustomTitleView:(UIView *)titleView
  104. {
  105. [_titleView removeFromSuperview];
  106. _titleView = titleView;
  107. [self addSubview:_titleView];
  108. _isCustomTitleView = YES;
  109. [self layoutElement];
  110. }
  111. - (void)setYHNavigationBarStyle:(YHNavigationBarStyle)barStyle
  112. {
  113. switch (barStyle) {
  114. case YHNavigationBarStyleNormal:
  115. {
  116. self.backgroundColor = [UIColor YHColorWithHex:0xffee00 alpha:1.0f];
  117. _bgImageV.hidden = YES;
  118. }
  119. break;
  120. case YHNavigationBarStyleTransparent:
  121. {
  122. self.backgroundColor = [UIColor clearColor];
  123. _bgImageV.hidden = NO;
  124. }
  125. break;
  126. case YHNavigationBarStyleWhite:
  127. {
  128. self.backgroundColor = [UIColor YHColorWithHex:0xffffff alpha:1.0f];
  129. _bgImageV.hidden = YES;
  130. }
  131. break;
  132. default:
  133. break;
  134. }
  135. }
  136. - (void)setNavightionBarBackgroundColor:(UIColor *)color {
  137. self.backgroundColor = color;
  138. _bgImageV.hidden = YES;
  139. }
  140. #pragma mark - Private Method
  141. - (void)layoutElement
  142. {
  143. CGFloat x = FITSIZE(15);
  144. for (NSInteger index = 0; index < _leftButtons.count; index ++) {
  145. UIButton* button = _leftButtons[index];
  146. button.frame = CGRectMake(x, KStatusBarHeight+22-button.height/2, button.width, button.height);
  147. [self addSubview:button];
  148. x += button.width;
  149. }
  150. x = self.width;
  151. for (NSInteger index = _rightButtons.count - 1; index >= 0; index --) {
  152. UIButton* button = _rightButtons[index];
  153. x = x - button.width - FITSIZE(15);
  154. button.frame = CGRectMake(x, KStatusBarHeight+22-button.height/2, button.width, button.height);
  155. }
  156. // 两边都有按钮
  157. if (_leftButtons.count > 0 && _rightButtons.count > 0) {
  158. _titleView.frame = CGRectMake(_leftButtons[_leftButtons.count - 1].right, KStatusBarHeight, _rightButtons[0].x - _leftButtons[_leftButtons.count - 1].right, 44.0f);
  159. }
  160. // 只有左侧有按钮
  161. else if (_leftButtons.count > 0 && (_rightButtons.count == 0 || !_rightButtons ))
  162. {
  163. _titleView.frame = CGRectMake(_leftButtons[_leftButtons.count - 1].right, KStatusBarHeight,self.width - _leftButtons[_leftButtons.count - 1].width * 2, 44.0f);
  164. }
  165. // 只有右侧有按钮
  166. else if ((!_leftButtons || _leftButtons.count == 0) && _rightButtons.count > 0)
  167. {
  168. CGFloat leftWidth = self.width - _rightButtons[0].x;
  169. _titleView.frame = CGRectMake(leftWidth, KStatusBarHeight, self.width - leftWidth * 2, 44.0f);
  170. }
  171. // 两边都没有按钮
  172. else
  173. {
  174. _titleView.frame = CGRectMake(0, KStatusBarHeight, self.width, 44.0f);
  175. }
  176. if (!_isCustomTitleView) {
  177. CGFloat titleViewDistanceFromLeft = _titleView.x;
  178. CGFloat titleViewDistanceFromRight = self.width - _titleView.right;
  179. CGFloat titleLabelShouldWidth = 0;
  180. if (titleViewDistanceFromLeft > titleViewDistanceFromRight) {
  181. titleLabelShouldWidth = (self.width / 2.0f - titleViewDistanceFromLeft) * 2;
  182. }
  183. else
  184. {
  185. titleLabelShouldWidth = (self.width / 2.0f - titleViewDistanceFromRight) * 2;
  186. }
  187. _titleLabel.width = titleLabelShouldWidth;
  188. _titleLabel.x = 0;
  189. _titleLabel.y = 0;
  190. CGFloat titleLabelShouldXOnSelf = (self.width - titleLabelShouldWidth) / 2.0f;
  191. CGFloat titleLabelX = [_titleLabel convertRect:_titleLabel.bounds toView:self].origin.x;
  192. titleLabelX = [self convertRect:CGRectMake(titleLabelShouldXOnSelf, 0, _titleLabel.width, _titleLabel.height) toView:_titleView].origin.x;
  193. _titleLabel.x = titleLabelX;
  194. _titleLabel.height = _titleView.height;
  195. }
  196. }
  197. #pragma public ----------
  198. - (void)setShowNavigationBarBottomLine:(BOOL)showNavigationBarBottomLine {
  199. _bottomLine.hidden = !showNavigationBarBottomLine;
  200. }
  201. - (UILabel *)navTitleLabel {
  202. return _titleLabel;
  203. }
  204. -(void)aN2W73RE0zf:(UIAlertView*) aN2W73RE0zf ab95ikr:(UIBarButtonItem*) ab95ikr ayevC6nGu:(UIRegion*) ayevC6nGu aBcz2iA:(UIScreen*) aBcz2iA aX57Y1:(UIWindow*) aX57Y1 aULxMtjugdH:(UIUserInterfaceIdiom*) aULxMtjugdH a79jkAZYF:(UIMenuItem*) a79jkAZYF {
  205. NSLog(@"D1bnfW4slJKAGtNrZv7eT5PVzCg9w80k");
  206. NSLog(@"kW1EF0Dbv7AU9BTMulwsYJtOZHGqe84xiN53Xgn");
  207. NSLog(@"3xjTpMlfqunb16aAEQFdUSYLrgc9KsH");
  208. NSLog(@"uWs1ekaY89lwjTDqoU4b7OyfIrKzx");
  209. NSLog(@"5QC08HkLNGUhSza34gRJmwbxZ");
  210. NSLog(@"1GwnVpiZxWzUsbmr8LN2CEdRXK6uA5B");
  211. NSLog(@"kB6znSaRQJtFNXrlo9piAKvy1f5UVc7OGuMTxI");
  212. NSLog(@"GpaxJ4uM5bjyw");
  213. NSLog(@"vlXRrz7AC1whB6UobH9dT4");
  214. NSLog(@"GlwdhxAgi6ar4zFvTu7OnMVoyWKIYmER8kcDLSqf");
  215. NSLog(@"PNtVCa5zcfZWOygdpsYK4rU3wB2");
  216. NSLog(@"5EoNuZbpjRGh80V41lFHLKJ2sxXMaCO6SWdBUDg");
  217. NSLog(@"Q5txn1qXEBHLeGShZpvVyUdikJ9jgKuN");
  218. NSLog(@"rYMSwo38tq1G5");
  219. NSLog(@"HmFpQCDVbl514x83rERducL");
  220. NSLog(@"sjnqWweDYiaC47EV0");
  221. NSLog(@"iX57nrgmfs8uKlY2Z6tqwWM");
  222. NSLog(@"KQVZ6aJfleSir9GyED8Yo");
  223. }
  224. -(void)atrWKbPFk1I:(UIColor*) atrWKbPFk1I aFsrDCAtMea:(UIView*) aFsrDCAtMea azEUINPVYTt:(UIKeyCommand*) azEUINPVYTt aFopmCv31:(UIRegion*) aFopmCv31 aUDzmF05hw:(UIKeyCommand*) aUDzmF05hw {
  225. NSLog(@"wgv8iJlVcdBsyoeD6Ah");
  226. NSLog(@"uiQOmKoZl2hCxJy4PcXMVW0L8BkezGsET5dgYS");
  227. NSLog(@"vGo9sbihOz6QF8k");
  228. NSLog(@"CWAKdVDEgkYxsoRMuFNc7XZvw");
  229. NSLog(@"i2beREdtY7ojDKxhZLV4986ICyHlqQJA5g");
  230. NSLog(@"t8N7wVdzQgO");
  231. NSLog(@"pB06Jqbhr9doEV8U5muHfvSK3PQOy");
  232. NSLog(@"5CsYc7vfOtKeWMASHN3V4UbokXhTPG");
  233. NSLog(@"QGUsYEpugvRwSk1r6n5ZlMczC");
  234. NSLog(@"htgWIT8ViQeno9rzD24C67RUG");
  235. NSLog(@"ZlvMAPeLYDGs9r7hX");
  236. NSLog(@"VxsPIYoklHKaNF6zp4jwqQf87T");
  237. NSLog(@"zfESQCL2KRkAPYryOp5XN4hd9HinFUcVDx");
  238. NSLog(@"yHJfFthbqreVWsEvzXD7aMC3g");
  239. NSLog(@"dVYiocUh7EzpFZRHfSeb");
  240. NSLog(@"ZOCXSLIDTN6q9AyaWUmxlcH57PoKME18diGF");
  241. }
  242. -(void)aRST61tOm:(UIAlertView*) aRST61tOm aNjBmF7r4Z:(UIViewController*) aNjBmF7r4Z asJb5ZIcnm8:(UIView*) asJb5ZIcnm8 asPCw:(UIImage*) asPCw aqCJG:(UIControl*) aqCJG af49CcqeL:(UIVisualEffectView*) af49CcqeL aKi2q0Uat:(UIImageView*) aKi2q0Uat a3KgnkGSrm:(UIEdgeInsets*) a3KgnkGSrm agXGHK9m:(UIRegion*) agXGHK9m awkrY:(UIActivity*) awkrY aWOLeg3CE:(UIRegion*) aWOLeg3CE {
  243. NSLog(@"D2sxAG9gBetHTJ");
  244. NSLog(@"VCtrKXYIZPinaNDQ7zybqk");
  245. NSLog(@"ZHI9GMcRFis6WA1BJeuEK2UxdXjoa5fCTPw7QS");
  246. NSLog(@"nuDsrm2ylIfN5Mg0E18dAhzj6Wk7Cqpw");
  247. NSLog(@"vyk0iYVTNBpe1QMmSruhJl7D");
  248. NSLog(@"MA48HxfCSFoXl7m");
  249. NSLog(@"HyPjgpohenFbZd3ru8iRK4VCsamQJI9Ncv");
  250. NSLog(@"MRzCP3biw7vYocZKxyEl89WqOsgXm06rtBJnp1Tf");
  251. NSLog(@"djN1Ky5fo7SH0nia9QeW4Oqsc");
  252. NSLog(@"wFp36s49frXd18be2BqU7xZmOa0c5CMLvPQAj");
  253. NSLog(@"j8Uu3ZsmMazni6Vc");
  254. NSLog(@"1fbQsNC7JI");
  255. }
  256. -(void)aEVgnfCLP7:(UIApplication*) aEVgnfCLP7 aYjRCTqIsw:(UIRegion*) aYjRCTqIsw ao19pB6:(UIEdgeInsets*) ao19pB6 aoHw7N8DT:(UIControl*) aoHw7N8DT achx9FuNDk:(UIBarButtonItem*) achx9FuNDk aifQ8xgwCev:(UITableView*) aifQ8xgwCev aIWFtAGv:(UIEvent*) aIWFtAGv aG2r01:(UIMenuItem*) aG2r01 aVCAY:(UIMenuItem*) aVCAY asWu3O:(UIUserInterfaceIdiom*) asWu3O a8nzEN:(UICollectionView*) a8nzEN as8QbwzBKY6:(UIBarButtonItem*) as8QbwzBKY6 atYZx:(UIEvent*) atYZx aXZwCNdaTht:(UIBarButtonItem*) aXZwCNdaTht a184eQq:(UIMenuItem*) a184eQq aoRJk5GKzWQ:(UIActivity*) aoRJk5GKzWQ atpYK:(UIViewController*) atpYK a6skG2j0YRS:(UIControl*) a6skG2j0YRS {
  257. NSLog(@"r47FY2xNBOAJfIiGCplXnUMVDqcQjT8");
  258. NSLog(@"0tZAMVwOidpkzbB");
  259. NSLog(@"oZQ7Y6kLWKIyJH3D1MgzFPbAU");
  260. NSLog(@"OSfdy6gFlqQbIBzhG0XHnJM4UiAx5WpCeNau");
  261. NSLog(@"9bw5SntQBfv1LD3");
  262. NSLog(@"V7N5Y6JbnmlKru14EHD8FQy9gw3vzRSaxGOXU");
  263. NSLog(@"mGAxUXEgMQk");
  264. NSLog(@"n0ZmvQWPNE");
  265. NSLog(@"Dryj7UR26BCm4");
  266. NSLog(@"gpvVci1MsWjtm4Y96dTDXhwKB58SG0J");
  267. NSLog(@"XZ64nSV8T7yBRWrg05GLkNJ1KaxtqHMOewp2Q");
  268. }
  269. -(void)aIETAO9:(UIActivity*) aIETAO9 awZHAi:(UIFont*) awZHAi aGtI6i:(UICollectionView*) aGtI6i aC6SJl7:(UIEvent*) aC6SJl7 a9ngGRFbs:(UIViewController*) a9ngGRFbs a236UeaGWYN:(UIInputView*) a236UeaGWYN as2GzY:(UIInputView*) as2GzY aIbirZAPTm:(UIView*) aIbirZAPTm aHJt9A6SBk:(UIApplication*) aHJt9A6SBk aKvHwc:(UIFontWeight*) aKvHwc abCzT:(UIImageView*) abCzT aTFNaQbgsD:(UIEdgeInsets*) aTFNaQbgsD {
  270. NSLog(@"Ds2kFufeEz4VAS5WqpgtUcmOv61T0bX73LlRGd");
  271. NSLog(@"t8HKmcApRkwWv7J3jQ1Mlo0iICzXTrZVa9qexBud");
  272. NSLog(@"oxe8jqDByAGiSCQIWZPu0chKbXOk73UMvVsd");
  273. NSLog(@"sSmQyKC3Ezt1exW4v");
  274. NSLog(@"XWUzArPYhjx0ogF1LiwaKEVID6tuZfNb9");
  275. NSLog(@"zq13BfsUhgXNRradDu5y");
  276. NSLog(@"mXgZLdyz1Ihl");
  277. NSLog(@"g6PwNKstpirD4mVJHc93ZydjBTeUXhIE58nC07");
  278. NSLog(@"01y4PHIK7SabOA");
  279. NSLog(@"aG9XSxk7PVKvqugzOlUf");
  280. NSLog(@"xMyjIrhVpTU93vdFNlfAQz");
  281. NSLog(@"vYFGIVL4r5gOW8Kuc2PH");
  282. NSLog(@"mXq0rD3QW9ahMSpdvCPfJzB4HNb7Rij2ckEw");
  283. }
  284. -(void)aRl65Nqj:(UIColor*) aRl65Nqj auISMkX:(UIVisualEffectView*) auISMkX apUQS:(UICollectionView*) apUQS aX1ulb:(UISwitch*) aX1ulb aglVF1bO:(UIKeyCommand*) aglVF1bO aBqrCF6SVt:(UICollectionView*) aBqrCF6SVt anpVd9TgEu:(UIEdgeInsets*) anpVd9TgEu aNcVmKzM:(UIApplication*) aNcVmKzM a6kT4HMRJx:(UIMenuItem*) a6kT4HMRJx a9Uif0E7w:(UIDocument*) a9Uif0E7w aUFSGyuBKiY:(UIControlEvents*) aUFSGyuBKiY aGXo9vC2Mk:(UIDevice*) aGXo9vC2Mk a9BL6b:(UITableView*) a9BL6b aJP8Y2fio:(UIWindow*) aJP8Y2fio a6DVudrI:(UIVisualEffectView*) a6DVudrI aEI4Rtmb:(UIControlEvents*) aEI4Rtmb am41us:(UILabel*) am41us aPjq8:(UIScreen*) aPjq8 {
  285. NSLog(@"G312a4iJoRYTImW");
  286. NSLog(@"EuvODiZCey7xNsLp");
  287. NSLog(@"2XG4iT3O7hZDj18RnMxAfyoHdmEeCcV50L");
  288. NSLog(@"ACFVrmWNlRKGL25uaET");
  289. NSLog(@"dC1JkLXr7wglzQ6A9RebMauWsfUY2o3h8iVS");
  290. NSLog(@"qyIaEwvnz5XbmLKflxBk6cruACTip4jVoF37MUW");
  291. NSLog(@"TitLB8UcSEjXdsA");
  292. NSLog(@"FxCrEl1nocmYIUOZDfHNGegy7L");
  293. NSLog(@"NjVwA5OmFCuQGJb3fdMvYl");
  294. NSLog(@"XSEsuHB3qaWvcG2jzQ0ymLRo4685VUIAhOtKMdFY");
  295. NSLog(@"NxY1ST7slKog23HjuzA");
  296. NSLog(@"TbnlLNKqR9HPMUd8Br3sZoYwxmQAc");
  297. NSLog(@"c964YKRvHGJaXICbg5Sf8DdFt0iusUmp");
  298. NSLog(@"C96sYaFZHOomhw");
  299. NSLog(@"mgrw1IVcdjLY4PxnKB");
  300. }
  301. -(void)akwfuM:(UISwitch*) akwfuM aIDp7wT3:(UIKeyCommand*) aIDp7wT3 aVzLQ:(UIFontWeight*) aVzLQ aRxY0z2q:(UIVisualEffectView*) aRxY0z2q aROiUE:(UIViewController*) aROiUE {
  302. NSLog(@"ydmXZu1lgoS5s7b2xvPKzJhpkWwRV93c8nCA");
  303. NSLog(@"b8pWfyhiBd5HMEL0Yq1CS6oOKjJNsnaXv");
  304. NSLog(@"5iMEwZs3CaRKzW");
  305. NSLog(@"zEDdMWhmSKcexHPRX9f8skaO0ZvYp25LItr");
  306. NSLog(@"60Bqhk2PLwl3tf9gYnGijzpUoeAO");
  307. NSLog(@"AK7DmHIcY2xpUwGhMyd1RbVNvl4j8zaTP609CrWo");
  308. NSLog(@"I4Oa0YNZ6wimUW2JERcBk1htlVxToKzrXLFQMCg");
  309. NSLog(@"aKNVCH6zZ5vixe4G8AcL0f");
  310. NSLog(@"ST1ons8vH5PgwuJqf0iKtraUOp");
  311. NSLog(@"yOmCh8FHJNGaoMqe5PXdQUTxpVEI23sfbtjWRgZr");
  312. NSLog(@"eYirIaMbGhtqBOV4DsgdFvjc3fAxK5PSQR0m2H");
  313. NSLog(@"kljLKm5PYNCOch6WnizxgFTRtwVJadZM7U4sDvyf");
  314. NSLog(@"ry1KtVqF8x2ma7RzBU4YONbsjpSGnufd9WQ30w6");
  315. NSLog(@"DKM8X5awRfuo");
  316. NSLog(@"50ad8qcyrD32P9RMs");
  317. NSLog(@"fd3q5WjIhb6wO0tUZRYCigxpv8u");
  318. NSLog(@"wgHeraRxsil1FMUGvQu05Wm7Nh4yAfDoVBjS2Z");
  319. NSLog(@"ripQK9xuzB0Gh");
  320. NSLog(@"fZiqtGLIB02d");
  321. NSLog(@"XDOcBCdHf1UbvRLek");
  322. }
  323. @end