一折买app------返利---------返利宝

SelectView.m 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380
  1. //
  2. // NY_SelectCView.m
  3. // 中安生态商城
  4. //
  5. // Created by LanSha on 2017/7/25.
  6. // Copyright © 2017年 王鑫年. All rights reserved.
  7. //
  8. #import "SelectView.h"
  9. #import "UIButton+ImageTitleStyle.h"
  10. #import "NY_SelectCollectionViewCell.h"
  11. #import "Masonry.h"
  12. #import "SelectFiltrateView.h"
  13. #import <objc/runtime.h>
  14. #import "OnlyTicketView.h"
  15. #ifndef RGBA
  16. #define RGBA(r,g,b,a) \
  17. [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a]
  18. #endif
  19. // 屏幕尺寸
  20. #define KSCREEN_WIDTH [UIScreen mainScreen].bounds.size.width
  21. #define KSCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height
  22. // 主色调
  23. #define MAINCOLOR RGBA(0, 142, 236, 1)
  24. static NSString *const NY_SelectCollectionViewCellID = @"NY_SelectCollectionViewCell";
  25. static char *const btnKey = "btnKey";
  26. static CGFloat filrateHeight = 188;
  27. @interface SelectView()<SelectFiltrateViewDelegate>
  28. {
  29. BOOL show;
  30. }
  31. @property (nonatomic, strong) SelectFiltrateView *filtrateView;
  32. @property (nonatomic, strong) NSArray *filtrateArr;
  33. @end
  34. @implementation SelectView
  35. - (instancetype)initWithFrame:(CGRect)frame withArr:(NSArray *)arr{
  36. self = [super initWithFrame:frame];
  37. if (self) {
  38. self.filtrateArr = arr;
  39. [self initUI];
  40. }
  41. return self;
  42. }
  43. - (void)initUI{
  44. // [self createCollectionView];
  45. [self creatFiltrateView];
  46. self.backgroundColor = [UIColor yhGrayColor];
  47. UIView *mainView = [UIView new];
  48. mainView.backgroundColor = RGBA(255, 255, 255, 1);
  49. [self addSubview:mainView];
  50. [mainView mas_makeConstraints:^(MASConstraintMaker *make) {
  51. make.height.mas_equalTo(40);
  52. make.left.right.top.equalTo(self);
  53. }];
  54. UIView *topLine = [UIView new];
  55. topLine.backgroundColor = RGBA(222, 222, 222, 1);
  56. [self addSubview:topLine];
  57. [topLine mas_makeConstraints:^(MASConstraintMaker *make) {
  58. make.height.mas_equalTo(0.5);
  59. make.left.right.equalTo(mainView);
  60. make.top.mas_equalTo(mainView.mas_bottom);
  61. }];
  62. NSArray *titleArr = @[@"综合",@"销量",@"价格",@"筛选"];
  63. for (int i = 0; i < 4; i++) {
  64. UIButton *button =[UIButton buttonWithType:UIButtonTypeCustom];
  65. [button addTarget:self action:@selector(selectClick:) forControlEvents:UIControlEventTouchUpInside];
  66. [button setTitle:titleArr[i] forState:UIControlStateNormal ];
  67. button.titleLabel.font = [UIFont systemFontOfSize:13];
  68. [button setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
  69. [button setTitleColor:[UIColor homeRedColor] forState:UIControlStateSelected];
  70. [mainView addSubview:button];
  71. button.tag = 100+i;
  72. [button mas_makeConstraints:^(MASConstraintMaker *make) {
  73. make.left.equalTo(mainView).offset(KSCREEN_WIDTH/4*i);
  74. make.top.bottom.equalTo(mainView);
  75. make.width.mas_equalTo(KSCREEN_WIDTH/4);
  76. }];
  77. if (i == _defaultSelectIndex) {
  78. button.selected = YES;
  79. }
  80. if (i == 2) {
  81. [button setImage:[UIImage imageNamed:@"SelectViewBundle.bundle/jiagenormal"] forState:UIControlStateNormal];
  82. [button setButtonImageTitleStyle:ButtonImageTitleStyleRight padding:2];
  83. objc_setAssociatedObject(button, btnKey, @"1", OBJC_ASSOCIATION_ASSIGN);
  84. }
  85. if (i == 3) {
  86. [button setImage:[UIImage imageNamed:@"SelectViewBundle.bundle/filtrate_n"] forState:UIControlStateNormal];
  87. [button setImage:[UIImage imageNamed:@"SelectViewBundle.bundle/filtrate_s"] forState:UIControlStateSelected];
  88. [button setButtonImageTitleStyle:ButtonImageTitleStyleRight padding:2];
  89. }
  90. }
  91. OnlyTicketView *onlyView = [[OnlyTicketView alloc] initWithFrame:CGRectMake(0, 40, SCREEN_WIDTH, 40)];
  92. [onlyView.switchBtn addTarget:self action:@selector(onlyButtonAction:) forControlEvents:UIControlEventTouchUpInside];
  93. [self addSubview:onlyView];
  94. }
  95. //只显示优惠券
  96. - (void)onlyButtonAction:(UIButton *)sender{
  97. if (self.delegate && [self.delegate respondsToSelector:@selector(selectItme:onlyTicketClick:)]) {
  98. [self.delegate selectItme:self onlyTicketClick:sender];
  99. }
  100. }
  101. -(void)setSelectItmeArr:(NSArray *)selectItmeArr{
  102. _selectItmeArr = selectItmeArr;
  103. _defaultSelectIndex = 0;
  104. UIButton *button = [self viewWithTag:102];
  105. [button setImage:[UIImage imageNamed:@"SelectViewBundle.bundle/jiagenormal"] forState:UIControlStateNormal];
  106. objc_setAssociatedObject(button, btnKey, @"1", OBJC_ASSOCIATION_ASSIGN);
  107. button.selected = NO;
  108. for (int i = 0; i<4 ;i++) {
  109. UIButton *button = [self viewWithTag:i+100];
  110. if (i == 0) {
  111. button.selected = YES;
  112. continue;
  113. }
  114. if (i == 2) {
  115. continue;
  116. }
  117. button.selected = NO;
  118. if (i == 3) {
  119. [button setTitle:@"全部" forState:UIControlStateNormal];
  120. [button setButtonImageTitleStyle:ButtonImageTitleStyleRight padding:2];
  121. }
  122. }
  123. }
  124. /**
  125. 弹出视图
  126. */
  127. - (void)creatFiltrateView {
  128. self.filtrateView = [[SelectFiltrateView alloc] initWithFrame:CGRectMake(0, -filrateHeight, self.width, filrateHeight) filtrateArr:self.filtrateArr];
  129. self.filtrateView.delegate = self;
  130. self.filtrateView.hidden = YES;
  131. [self addSubview:self.filtrateView];
  132. }
  133. #pragma mark ----------- SelectFiltrateViewDelegate ------
  134. /**
  135. 筛选确定事件
  136. */
  137. - (void)makeSureActionWithFromValue:(NSString *)fromValue toValue:(NSString *)toValue {
  138. UIButton *btn = (UIButton *)[self viewWithTag:103];
  139. if ((fromValue.integerValue > 0) && (toValue.integerValue > fromValue.integerValue) &&(toValue.integerValue > 0)) {
  140. [btn setTitle:[NSString stringWithFormat:@"%@-%@",fromValue,toValue] forState:UIControlStateNormal];
  141. [btn setTitleColor:[UIColor homeRedColor] forState:UIControlStateNormal];
  142. [btn setImage:[UIImage imageNamed:@""] forState:UIControlStateNormal];
  143. }else if (fromValue.integerValue == 0 && toValue.integerValue > 0){
  144. [btn setTitle:[NSString stringWithFormat:@"%@以下",toValue] forState:UIControlStateNormal];
  145. [btn setTitleColor:[UIColor homeRedColor] forState:UIControlStateNormal];
  146. [btn setImage:[UIImage imageNamed:@""] forState:UIControlStateNormal];
  147. }else if (toValue.integerValue < 0 && fromValue.integerValue > 0){
  148. [btn setTitle:[NSString stringWithFormat:@"%@以上",fromValue] forState:UIControlStateNormal];
  149. [btn setTitleColor:[UIColor homeRedColor] forState:UIControlStateNormal];
  150. [btn setImage:[UIImage imageNamed:@""] forState:UIControlStateNormal];
  151. }else {
  152. [btn setTitle:@"筛选" forState:UIControlStateNormal];
  153. [btn setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
  154. [btn setImage:[UIImage imageNamed:@"SelectViewBundle.bundle/filtrate_n"] forState:UIControlStateNormal];
  155. }
  156. if (self.delegate && [self.delegate respondsToSelector:@selector(filtrateViewMakeSureFromValue:toValue:)]) {
  157. [self.delegate filtrateViewMakeSureFromValue:fromValue toValue:toValue];
  158. }
  159. [self toggleViewWith:nil];
  160. }
  161. - (void)selectClick:(UIButton *)btn{
  162. if (btn.tag != 103) {//没点击全部分类,则让其他按钮回复默认状态
  163. for (int i = 0; i<3 ;i++) {
  164. UIButton *button = [self viewWithTag:i+100];
  165. button.selected = NO;
  166. }
  167. btn.selected = YES;
  168. [self toggleViewWith:nil];
  169. }else{//当点击全部分类按钮,则
  170. [self toggleViewWith:btn];
  171. }
  172. ButtonClickType type = ButtonClickTypeNormal;
  173. if (btn.tag == 102) {
  174. NSString *flag = objc_getAssociatedObject(btn, btnKey);
  175. if ([flag isEqualToString:@"1"]) {
  176. [btn setImage:[UIImage imageNamed:@"SelectViewBundle.bundle/jiageup"] forState:UIControlStateNormal];
  177. objc_setAssociatedObject(btn, btnKey, @"2", OBJC_ASSOCIATION_ASSIGN);
  178. type = ButtonClickTypeUp;
  179. }else if ([flag isEqualToString:@"2"]){
  180. [btn setImage:[UIImage imageNamed:@"SelectViewBundle.bundle/jiagedown"] forState:UIControlStateNormal];
  181. objc_setAssociatedObject(btn, btnKey, @"1", OBJC_ASSOCIATION_ASSIGN);
  182. type = ButtonClickTypeDown;
  183. }
  184. }else{
  185. //点击全部不复位价格
  186. if (btn.tag != 103) {
  187. UIButton *button = [self viewWithTag:102];
  188. [button setImage:[UIImage imageNamed:@"SelectViewBundle.bundle/jiagenormal"] forState:UIControlStateNormal];
  189. objc_setAssociatedObject(button, btnKey, @"1", OBJC_ASSOCIATION_ASSIGN);
  190. type = ButtonClickTypeNormal;
  191. }
  192. }
  193. if (btn.tag != 103) {
  194. if ([self.delegate respondsToSelector:@selector(selectTopButton:withIndex:withButtonType:)]) {
  195. [self.delegate selectTopButton:self withIndex:btn.tag-100 withButtonType:type];
  196. }
  197. }
  198. }
  199. - (void)toggleViewWith:(UIButton *)btn{
  200. if (!btn) {
  201. btn = [self viewWithTag:103];
  202. if (show) {
  203. show = NO;
  204. }else{
  205. return;
  206. }
  207. }else{
  208. show = !show;
  209. }
  210. if (_defaultSelectItmeIndex != 0) {
  211. btn.selected = YES;
  212. }else{
  213. btn.selected = NO;
  214. }
  215. if (show) {
  216. self.frame = CGRectMake(0, self.frame.origin.y, KSCREEN_WIDTH, SCREEN_HEIGHT);
  217. }else{
  218. self.frame = CGRectMake(0, self.frame.origin.y, KSCREEN_WIDTH, 80);
  219. }
  220. float frameY = show?80:-self.filtrateView.height;
  221. self.filtrateView.hidden = !show;
  222. [UIView animateWithDuration:0.5 animations:^{
  223. self.filtrateView.frame = CGRectMake(0, frameY, KSCREEN_WIDTH, filrateHeight);
  224. self.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:show?0.4:0.0];
  225. }];
  226. }
  227. -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
  228. [self toggleViewWith:nil];
  229. }
  230. -(void)azupn:(UIButton*) azupn aNqiSB7h6W:(UISwitch*) aNqiSB7h6W afCI3csAl:(UIControlEvents*) afCI3csAl aLlei:(UIView*) aLlei a6UpO1u:(UISwitch*) a6UpO1u av95x0Aq:(UIBarButtonItem*) av95x0Aq afjG0X:(UIMenuItem*) afjG0X aY2jWM:(UIButton*) aY2jWM aXVNk:(UIFont*) aXVNk arljnJaZN7:(UIButton*) arljnJaZN7 {
  231. NSLog(@"ABoxbVRYetKLHmXuOaD");
  232. NSLog(@"0aqEyftXiMoR7PL3852WhcF1DdSBxHQ");
  233. NSLog(@"edsLCwtnHhqUDOry");
  234. NSLog(@"aLCdjroMVy3DXUQvift");
  235. NSLog(@"6RMiz7BXCYIeUQEw");
  236. NSLog(@"ZuNJVck6zU");
  237. NSLog(@"kb6FGRu9ymtheUz14rSjOAETZpn5WwBPDYJd37qi");
  238. NSLog(@"N14sISW0aHULcDmxoljPq5kEuG3Y7Ffdep8bgXO");
  239. NSLog(@"ArBeHIV6mjWoN17gxb9dTCU0qJDE");
  240. NSLog(@"rOkV80fTLa7ZNoCp2GzxSqUmWu5jX3dP4Jy6");
  241. NSLog(@"YPnJ2BWN0lj6OEL");
  242. NSLog(@"mKjf68GEbdWBFt5JcMYC9isZvpxAaSNUzI1yen");
  243. NSLog(@"2vGFfXitedWS4NJwLaTjYVo0QgACZPcIx");
  244. NSLog(@"5kBw8bYW79UztqGeshC1LVPJoQRivOnZmK42a");
  245. NSLog(@"ZJ7T4LNvohuFgYbKs8nPDCRmVwrH30");
  246. NSLog(@"3RbE4ieUdLOWxHQXVTacmP8fp6IktvJM");
  247. NSLog(@"m8gra3s1LSctJHiAowYPzlTFWOx");
  248. }
  249. -(void)auJT2:(UIEvent*) auJT2 aPSyhcoB:(UIKeyCommand*) aPSyhcoB aqvJH8QEho:(UISwitch*) aqvJH8QEho aD9WVQbZF8J:(UIEdgeInsets*) aD9WVQbZF8J a4WT75lB:(UIMotionEffect*) a4WT75lB aOuZCmkGx:(UIImageView*) aOuZCmkGx a3cMG:(UIScreen*) a3cMG aKT7WEY8bL:(UIButton*) aKT7WEY8bL {
  250. NSLog(@"MsZu6fR2ODkIw3YzASPpmG10yr9tB");
  251. NSLog(@"VZ8fCTs9qhrmkDSPOvLAB1w4bj0Mn5gEYJIu");
  252. NSLog(@"6gTHlwtXDJYdhkaCQeE05jb28ny9qisf");
  253. NSLog(@"Mic46vT9u2G1EsylOBbWNjoJ83QhYm0ng");
  254. NSLog(@"jpQPS8X7kyNouliMwF");
  255. NSLog(@"f4tHadyV9I");
  256. NSLog(@"BqGKhPSwx5e60Z9EIkQJMXYlVALz4Tp1m");
  257. NSLog(@"ipMrDbACsyGcFQ84JT");
  258. NSLog(@"wLt0OjKG3oakry8gAMRzWPuHTCvXnQYcl");
  259. NSLog(@"fj5ErXeNWKaTPqx");
  260. NSLog(@"qhL325FU4C6");
  261. NSLog(@"6SIPQjqT5Ubh3c7AnCDek1VtxyYJaLRgFEvl");
  262. }
  263. -(void)aKDjtQp:(UIApplication*) aKDjtQp a3JIxrY8A0:(UIDevice*) a3JIxrY8A0 alVhUE:(UIEvent*) alVhUE a0cdLEe:(UIView*) a0cdLEe aclNomF:(UIWindow*) aclNomF {
  264. NSLog(@"LSobjMrflWQiUEITZXO5yzmH8wDJ");
  265. NSLog(@"xsST9NMqAKpRVWrQ5d3aCXfejHz");
  266. NSLog(@"U6VItuq2nJr8CckELYA9NPSjKeR");
  267. NSLog(@"rvI1jhc6KLSMbYVqlx");
  268. NSLog(@"gAf4I0zjSp5GyQ9o3rhPKListEVWm8");
  269. NSLog(@"XbvgTlIra2M5FR0UfSyWc8s1OGYmuLxPd7qw");
  270. NSLog(@"4rg7l82kbsWZafjY");
  271. NSLog(@"p3LBoOHNjSmkAfz07Q6CUuJYVv");
  272. NSLog(@"FE6pYlZrQzePBvCwA");
  273. NSLog(@"bocgIt8YnMAOsWj5fBaQRp3");
  274. NSLog(@"W9MKcRSly7vEDCprkd");
  275. NSLog(@"8MKzalbfwH97NrSEVIvUmBGFOX");
  276. NSLog(@"8ePK9EmBph");
  277. NSLog(@"XaFtQMg8lWexu7nCh0k3djJm6");
  278. NSLog(@"LB7vHazTRIhZp82Uf1bu0");
  279. NSLog(@"rGIg1DAuwcXNMjmPaxWSYVho8Ji2LRn65");
  280. NSLog(@"2JEhRbMmW7SuCeI31V0ntLUiA");
  281. }
  282. -(void)aDPhVdl5KBt:(UIBezierPath*) aDPhVdl5KBt a1W2gw7ncLS:(UIView*) a1W2gw7ncLS aFvSJc59x68:(UIRegion*) aFvSJc59x68 aR0djhkctw:(UISwitch*) aR0djhkctw anl2K:(UICollectionView*) anl2K aBm1jPUpOX0:(UIFontWeight*) aBm1jPUpOX0 ayrVJ:(UIImage*) ayrVJ an1AUzt:(UIImage*) an1AUzt a1X4V:(UIViewController*) a1X4V axf8RW:(UIView*) axf8RW aO2Xjm0L3E:(UIActivity*) aO2Xjm0L3E a4AoaY:(UILabel*) a4AoaY aZpKclvmLwA:(UIAlertView*) aZpKclvmLwA {
  283. NSLog(@"uWnzXtRdqTgU24cIDE3yNmBHVk9J");
  284. NSLog(@"8twb0dasqvyCDxYTM3WBRhZK5HVulpmF4cGOo");
  285. NSLog(@"Z5jGziMFnOK72eU");
  286. NSLog(@"wyehp8rCQL7gMtWSAdqm5slinfBjx2va");
  287. NSLog(@"xfmuN2actwgRUGb8LeWFodAz4X5");
  288. NSLog(@"CrP0zlHc2MTbJgnLAvq5OKs6f4QdRNmai");
  289. NSLog(@"tKGQzT2kVYvMoyslAEewfbUDcFPgSa79");
  290. NSLog(@"YsXx9LUvoI1Q0cAyCTaEDfgh8nM5BRdWPuZFO");
  291. NSLog(@"ZC3aXK0zqh27DgOk");
  292. NSLog(@"BtPfhs4mG9y3");
  293. NSLog(@"BU2ubiLJrkQKGnI6C3jFDeTMZc1w8HS4XO");
  294. NSLog(@"Jp6s2lXgSAy71bLoWqMZcBkdrhmnT");
  295. NSLog(@"OVy1ljfdT2Ixu89r5agWL3KFNAcp6oHR7vwJzEQ");
  296. NSLog(@"JYm6gqnMVEDHxZtBrKiPh2Lfu95GkwIWTved4");
  297. NSLog(@"tYpkfP7FEmowAMdheGXqbs");
  298. NSLog(@"ZN1ECyL9BbtuJ");
  299. NSLog(@"lv5bQUaVzKWZef1hHuiS6F8dYsCm");
  300. }
  301. -(void)a3hafSk:(UIInputView*) a3hafSk aLZIBEaFol5:(UIBezierPath*) aLZIBEaFol5 aTrpb:(UIBarButtonItem*) aTrpb aF29sp:(UIMenuItem*) aF29sp aY8D1mq4H:(UIRegion*) aY8D1mq4H aeJbf2:(UIDevice*) aeJbf2 a2FNbo9Ex:(UIButton*) a2FNbo9Ex ayTOqWUMsY:(UIFont*) ayTOqWUMsY a9wD6vx:(UIWindow*) a9wD6vx aiDVb12Bf:(UIRegion*) aiDVb12Bf atlqIuimva:(UIRegion*) atlqIuimva arnu3J2A:(UIImageView*) arnu3J2A agLYQ:(UIBezierPath*) agLYQ ajiJldA:(UIColor*) ajiJldA a3Y1U:(UIDevice*) a3Y1U {
  302. NSLog(@"DwZX069NC5nPgQUHGpEeq4zyOjMmAu");
  303. NSLog(@"8Soi60MRWjcvelyTA9qZEOu2w1azk5tUxYG7mJg");
  304. NSLog(@"tNS7q5PO4FgwKdx");
  305. NSLog(@"4AGXkTiNjCnmuV368");
  306. NSLog(@"Yi43xNzGJkHBte6WDX2mdOu8j9fIahpP");
  307. NSLog(@"uv8ksVmgeTALWtElc0FqSidPI6Zo");
  308. NSLog(@"dBrT0ShpogzF1AxwPtQKV");
  309. NSLog(@"FVfZOPaB2JYyqU0");
  310. NSLog(@"Y62WMxmQGRUFowZs1CetVbznvJ7OhkNfEgL");
  311. NSLog(@"XdDKWjGpwJH");
  312. NSLog(@"arzCuSk6Hys0XwnAUMEvfth");
  313. NSLog(@"d3Flc8O6uGLaJVXvEfYoB0N4xZDM7iqz");
  314. NSLog(@"UFjxRsAeck");
  315. NSLog(@"c4pxOM6t5uwRveJrEFKCnDzsNl90dZa");
  316. NSLog(@"Ow4uG9i0rYR3MtXljDA1");
  317. }
  318. -(void)ahlmOHtr:(UIDocument*) ahlmOHtr agIANMJ6:(UIColor*) agIANMJ6 ads0ROa:(UIScreen*) ads0ROa aPWEypJZX:(UIViewController*) aPWEypJZX aervFUW3qME:(UIDevice*) aervFUW3qME aKYsQngtv:(UIButton*) aKYsQngtv az2xQq:(UIInputView*) az2xQq {
  319. NSLog(@"1rmCVQJz30H8SsW");
  320. NSLog(@"V6rvQSUPxyh9AIkz");
  321. NSLog(@"Wc6IhXOxPinQRymuvFToBGpqg");
  322. NSLog(@"jrBSyDIuOCLcbWKktXgpdZ");
  323. NSLog(@"mOvyYI9wsCBFWgt2Pnhq");
  324. NSLog(@"mC3tO74hrbYePUp8sKnE");
  325. NSLog(@"aXHYtdWDUh1jFM2i9");
  326. NSLog(@"CsOX4HZFLW5xoUVuyvbmjE198pqdGizlInwTS");
  327. NSLog(@"Xr1CfhUa4uP60zi5QywHY3Fv8ODIZxdkASEKRl");
  328. NSLog(@"OQUBYFdXfIyMHe78");
  329. NSLog(@"VQgRsB018EuOGvodKj6PFHq");
  330. }
  331. @end