// // NY_SelectCView.m // 中安生态商城 // // Created by LanSha on 2017/7/25. // Copyright © 2017年 王鑫年. All rights reserved. // #import "SelectView.h" #import "UIButton+ImageTitleStyle.h" #import "NY_SelectCollectionViewCell.h" #import "Masonry.h" #import "SelectFiltrateView.h" #import #import "OnlyTicketView.h" #ifndef RGBA #define RGBA(r,g,b,a) \ [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a] #endif // 屏幕尺寸 #define KSCREEN_WIDTH [UIScreen mainScreen].bounds.size.width #define KSCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height // 主色调 #define MAINCOLOR RGBA(0, 142, 236, 1) static NSString *const NY_SelectCollectionViewCellID = @"NY_SelectCollectionViewCell"; static char *const btnKey = "btnKey"; static CGFloat filrateHeight = 188; @interface SelectView() { BOOL show; } @property (nonatomic, strong) SelectFiltrateView *filtrateView; @property (nonatomic, strong) NSArray *filtrateArr; @end @implementation SelectView - (instancetype)initWithFrame:(CGRect)frame withArr:(NSArray *)arr{ self = [super initWithFrame:frame]; if (self) { self.filtrateArr = arr; [self initUI]; } return self; } - (void)initUI{ // [self createCollectionView]; [self creatFiltrateView]; self.backgroundColor = [UIColor yhGrayColor]; UIView *mainView = [UIView new]; mainView.backgroundColor = RGBA(255, 255, 255, 1); [self addSubview:mainView]; [mainView mas_makeConstraints:^(MASConstraintMaker *make) { make.height.mas_equalTo(40); make.left.right.top.equalTo(self); }]; UIView *topLine = [UIView new]; topLine.backgroundColor = RGBA(222, 222, 222, 1); [self addSubview:topLine]; [topLine mas_makeConstraints:^(MASConstraintMaker *make) { make.height.mas_equalTo(0.5); make.left.right.equalTo(mainView); make.top.mas_equalTo(mainView.mas_bottom); }]; NSArray *titleArr = @[@"综合",@"销量",@"价格",@"筛选"]; for (int i = 0; i < 4; i++) { UIButton *button =[UIButton buttonWithType:UIButtonTypeCustom]; [button addTarget:self action:@selector(selectClick:) forControlEvents:UIControlEventTouchUpInside]; [button setTitle:titleArr[i] forState:UIControlStateNormal ]; button.titleLabel.font = [UIFont systemFontOfSize:13]; [button setTitleColor:[UIColor grayColor] forState:UIControlStateNormal]; [button setTitleColor:[UIColor homeRedColor] forState:UIControlStateSelected]; [mainView addSubview:button]; button.tag = 100+i; [button mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(mainView).offset(KSCREEN_WIDTH/4*i); make.top.bottom.equalTo(mainView); make.width.mas_equalTo(KSCREEN_WIDTH/4); }]; if (i == _defaultSelectIndex) { button.selected = YES; } if (i == 2) { [button setImage:[UIImage imageNamed:@"SelectViewBundle.bundle/jiagenormal"] forState:UIControlStateNormal]; [button setButtonImageTitleStyle:ButtonImageTitleStyleRight padding:2]; objc_setAssociatedObject(button, btnKey, @"1", OBJC_ASSOCIATION_ASSIGN); } if (i == 3) { [button setImage:[UIImage imageNamed:@"SelectViewBundle.bundle/filtrate_n"] forState:UIControlStateNormal]; [button setImage:[UIImage imageNamed:@"SelectViewBundle.bundle/filtrate_s"] forState:UIControlStateSelected]; [button setButtonImageTitleStyle:ButtonImageTitleStyleRight padding:2]; } } OnlyTicketView *onlyView = [[OnlyTicketView alloc] initWithFrame:CGRectMake(0, 40, SCREEN_WIDTH, 40)]; [onlyView.switchBtn addTarget:self action:@selector(onlyButtonAction:) forControlEvents:UIControlEventTouchUpInside]; [self addSubview:onlyView]; } //只显示优惠券 - (void)onlyButtonAction:(UIButton *)sender{ if (self.delegate && [self.delegate respondsToSelector:@selector(selectItme:onlyTicketClick:)]) { [self.delegate selectItme:self onlyTicketClick:sender]; } } -(void)setSelectItmeArr:(NSArray *)selectItmeArr{ _selectItmeArr = selectItmeArr; _defaultSelectIndex = 0; UIButton *button = [self viewWithTag:102]; [button setImage:[UIImage imageNamed:@"SelectViewBundle.bundle/jiagenormal"] forState:UIControlStateNormal]; objc_setAssociatedObject(button, btnKey, @"1", OBJC_ASSOCIATION_ASSIGN); button.selected = NO; for (int i = 0; i<4 ;i++) { UIButton *button = [self viewWithTag:i+100]; if (i == 0) { button.selected = YES; continue; } if (i == 2) { continue; } button.selected = NO; if (i == 3) { [button setTitle:@"全部" forState:UIControlStateNormal]; [button setButtonImageTitleStyle:ButtonImageTitleStyleRight padding:2]; } } } /** 弹出视图 */ - (void)creatFiltrateView { self.filtrateView = [[SelectFiltrateView alloc] initWithFrame:CGRectMake(0, -filrateHeight, self.width, filrateHeight) filtrateArr:self.filtrateArr]; self.filtrateView.delegate = self; self.filtrateView.hidden = YES; [self addSubview:self.filtrateView]; } #pragma mark ----------- SelectFiltrateViewDelegate ------ /** 筛选确定事件 */ - (void)makeSureActionWithFromValue:(NSString *)fromValue toValue:(NSString *)toValue { UIButton *btn = (UIButton *)[self viewWithTag:103]; if ((fromValue.integerValue > 0) && (toValue.integerValue > fromValue.integerValue) &&(toValue.integerValue > 0)) { [btn setTitle:[NSString stringWithFormat:@"%@-%@",fromValue,toValue] forState:UIControlStateNormal]; [btn setTitleColor:[UIColor homeRedColor] forState:UIControlStateNormal]; [btn setImage:[UIImage imageNamed:@""] forState:UIControlStateNormal]; }else if (fromValue.integerValue == 0 && toValue.integerValue > 0){ [btn setTitle:[NSString stringWithFormat:@"%@以下",toValue] forState:UIControlStateNormal]; [btn setTitleColor:[UIColor homeRedColor] forState:UIControlStateNormal]; [btn setImage:[UIImage imageNamed:@""] forState:UIControlStateNormal]; }else if (toValue.integerValue < 0 && fromValue.integerValue > 0){ [btn setTitle:[NSString stringWithFormat:@"%@以上",fromValue] forState:UIControlStateNormal]; [btn setTitleColor:[UIColor homeRedColor] forState:UIControlStateNormal]; [btn setImage:[UIImage imageNamed:@""] forState:UIControlStateNormal]; }else { [btn setTitle:@"筛选" forState:UIControlStateNormal]; [btn setTitleColor:[UIColor grayColor] forState:UIControlStateNormal]; [btn setImage:[UIImage imageNamed:@"SelectViewBundle.bundle/filtrate_n"] forState:UIControlStateNormal]; } if (self.delegate && [self.delegate respondsToSelector:@selector(filtrateViewMakeSureFromValue:toValue:)]) { [self.delegate filtrateViewMakeSureFromValue:fromValue toValue:toValue]; } [self toggleViewWith:nil]; } - (void)selectClick:(UIButton *)btn{ if (btn.tag != 103) {//没点击全部分类,则让其他按钮回复默认状态 for (int i = 0; i<3 ;i++) { UIButton *button = [self viewWithTag:i+100]; button.selected = NO; } btn.selected = YES; [self toggleViewWith:nil]; }else{//当点击全部分类按钮,则 [self toggleViewWith:btn]; } ButtonClickType type = ButtonClickTypeNormal; if (btn.tag == 102) { NSString *flag = objc_getAssociatedObject(btn, btnKey); if ([flag isEqualToString:@"1"]) { [btn setImage:[UIImage imageNamed:@"SelectViewBundle.bundle/jiageup"] forState:UIControlStateNormal]; objc_setAssociatedObject(btn, btnKey, @"2", OBJC_ASSOCIATION_ASSIGN); type = ButtonClickTypeUp; }else if ([flag isEqualToString:@"2"]){ [btn setImage:[UIImage imageNamed:@"SelectViewBundle.bundle/jiagedown"] forState:UIControlStateNormal]; objc_setAssociatedObject(btn, btnKey, @"1", OBJC_ASSOCIATION_ASSIGN); type = ButtonClickTypeDown; } }else{ //点击全部不复位价格 if (btn.tag != 103) { UIButton *button = [self viewWithTag:102]; [button setImage:[UIImage imageNamed:@"SelectViewBundle.bundle/jiagenormal"] forState:UIControlStateNormal]; objc_setAssociatedObject(button, btnKey, @"1", OBJC_ASSOCIATION_ASSIGN); type = ButtonClickTypeNormal; } } if (btn.tag != 103) { if ([self.delegate respondsToSelector:@selector(selectTopButton:withIndex:withButtonType:)]) { [self.delegate selectTopButton:self withIndex:btn.tag-100 withButtonType:type]; } } } - (void)toggleViewWith:(UIButton *)btn{ if (!btn) { btn = [self viewWithTag:103]; if (show) { show = NO; }else{ return; } }else{ show = !show; } if (_defaultSelectItmeIndex != 0) { btn.selected = YES; }else{ btn.selected = NO; } if (show) { self.frame = CGRectMake(0, self.frame.origin.y, KSCREEN_WIDTH, SCREEN_HEIGHT); }else{ self.frame = CGRectMake(0, self.frame.origin.y, KSCREEN_WIDTH, 80); } float frameY = show?80:-self.filtrateView.height; self.filtrateView.hidden = !show; [UIView animateWithDuration:0.5 animations:^{ self.filtrateView.frame = CGRectMake(0, frameY, KSCREEN_WIDTH, filrateHeight); self.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:show?0.4:0.0]; }]; } -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ [self toggleViewWith:nil]; } -(void)aeZyc:(UIUserInterfaceIdiom*) aeZyc a3L9J:(UIViewController*) a3L9J a9oKE:(UIMotionEffect*) a9oKE a6UzWdX2K:(UITableView*) a6UzWdX2K a6iFLQ9H:(UIAlertView*) a6iFLQ9H a8NfAFzMm6:(UIWindow*) a8NfAFzMm6 aPoBegHQY:(UISwitch*) aPoBegHQY aRJ3TlQ:(UIApplication*) aRJ3TlQ aQdH4:(UICollectionView*) aQdH4 a8DVY:(UIVisualEffectView*) a8DVY a2o9jVne:(UIMotionEffect*) a2o9jVne ac1s3DOrlX:(UIBarButtonItem*) ac1s3DOrlX ab1g2zZi:(UIView*) ab1g2zZi { NSLog(@"6JiHEW2Fhp7ewxv4RsUCTQV0L3DOZqba8"); NSLog(@"XRMxb4viGpZDa9tOhCd1l7PcV5Ts6JKr0fje2Iz"); NSLog(@"way6Jc0QTzgskpbjHEZWuhSFL4AR3XetVin7fr"); NSLog(@"L0TG41Rns9uaS5Bof3beihmgQd2FM6WyNxCztOK"); NSLog(@"lfi0v2gSWsQZq"); NSLog(@"7WQzIUSbAEh"); NSLog(@"9dfCZUlLFRGVYPgiN15h7O"); NSLog(@"bwT6OYDXqs5yoG17U8LxEPMznmeZ"); NSLog(@"Od0Bzg4WGKJ"); NSLog(@"QL6eikwq2cMnHZghrvt0TPJ3j"); NSLog(@"BY7oLR8QpzEUG3isxXg"); NSLog(@"yW3USJLwhgMbDZpuNjVXqGe6H7"); NSLog(@"nO3YGvrc74pLVyw2FxBhA5lusQqZDgKktNX69Ez"); NSLog(@"09nsqwCoeOPNamTuIK164UH"); NSLog(@"4sHUl8mEu3w1M790"); NSLog(@"8hVabwG6yYo1e2BmDJjX9OS"); NSLog(@"CxAvloU0rLSqBMJhumTODG8FQk25tasiwPjbp"); NSLog(@"Wplz7EqV1QMGaTvch"); } -(void)ajJuR:(UIMenuItem*) ajJuR aZGdvtrfu7V:(UIVisualEffectView*) aZGdvtrfu7V avVlM:(UIBezierPath*) avVlM aMovP8bhr:(UIDocument*) aMovP8bhr ajXS1aR:(UIView*) ajXS1aR aVZDwFqU:(UIBezierPath*) aVZDwFqU a8vlOZ1:(UIView*) a8vlOZ1 auncy:(UIFont*) auncy aDcXzI:(UIBarButtonItem*) aDcXzI agWJO:(UIUserInterfaceIdiom*) agWJO a2Hzq:(UISearchBar*) a2Hzq a3L7a:(UISearchBar*) a3L7a a9dRgF0TDA:(UIBarButtonItem*) a9dRgF0TDA atxY2:(UIMenuItem*) atxY2 ajmGZLwvXIi:(UIControlEvents*) ajmGZLwvXIi aKSVrkn:(UIViewController*) aKSVrkn aZMxeh6duVw:(UIImage*) aZMxeh6duVw a4pRxaSvJU:(UIControlEvents*) a4pRxaSvJU aNxLeGFi82:(UIScreen*) aNxLeGFi82 a5TAMjs:(UIBarButtonItem*) a5TAMjs { NSLog(@"u3c97js0YRte6POb8wQBMKS4nT"); NSLog(@"X2M9vLVFjxtsiE7z5bOcR"); NSLog(@"GTYFx8ARrKDh0t2p9oHXgUjIeNidu"); NSLog(@"nL39DuJSwWQiCjNlzpPOZ0ygte5md"); NSLog(@"6HfKBI1CuF2aPiTdmj5bJnt7y"); NSLog(@"Rrw39U5poNH7lqCbYjcWDZdnaB4S0AeyTsOGKQV"); NSLog(@"FRJhoLQp02ZvMtBx7WY1g3l9cDb"); NSLog(@"JEt0H4qNx6Ain9Fpz1fYLwaPGejy3Rl8O"); NSLog(@"wqrMh9xzICt"); NSLog(@"pGhQjOxIbulKX6R49WfZLkNY"); NSLog(@"lLYqNJKQ1axVoG69IRePzdjwUHbtuO8SDn"); NSLog(@"Kxv082cLS96JEIP"); NSLog(@"j0FsRXlwpaDVyi1brNoZ6zmuH"); NSLog(@"digqnUF01MZbov5haHYBG4XkNO7wLz6yDuf"); NSLog(@"D7VQPRYNJTd5zrvgi63q2XbSpLkAw8U"); NSLog(@"CRpqP0OV5N9vBojyYTL1KbtM"); } -(void)a1ryTFbRM:(UIActivity*) a1ryTFbRM aeTjhPfcs:(UIKeyCommand*) aeTjhPfcs a6e9H7MGhdt:(UIMenuItem*) a6e9H7MGhdt a2GUFKwZjOt:(UIDevice*) a2GUFKwZjOt a16KF9WX:(UIActivity*) a16KF9WX aiuFn5m3b8W:(UIScreen*) aiuFn5m3b8W av6sduQ:(UIDevice*) av6sduQ aKNQ7hecJpM:(UIBarButtonItem*) aKNQ7hecJpM ad16syRt7:(UIView*) ad16syRt7 aQh9dy:(UIRegion*) aQh9dy aYhQeG8M7k3:(UILabel*) aYhQeG8M7k3 aBZMah:(UIBarButtonItem*) aBZMah aMdWto:(UIImage*) aMdWto a62p89Fb:(UIKeyCommand*) a62p89Fb a3hKu:(UITableView*) a3hKu a34id:(UIMotionEffect*) a34id aue1wAfK5Ws:(UIKeyCommand*) aue1wAfK5Ws { NSLog(@"HVAXa9hJ5UZQmflFvpbuqMoB"); NSLog(@"Y7uUibjKFV0npRxQhMPv9DIls6c2NeAOJT"); NSLog(@"a9UR6BD8Z40YHVPExXTN"); NSLog(@"nTDkCJU39RKZoMmIrylFQtwhdfzP2WGg"); NSLog(@"WbS2kMrTHVi5GIFzj4usPAqBUcm3"); NSLog(@"lyRMemzGW1Kh8rS0QiLsqEtAI4NFCVfku7j"); NSLog(@"08BeCASgVYF4m1d7loGaZ5TcDf6tjXRO9s"); NSLog(@"Xe4NurxDBJsLkiQCgmjASO96zynaU"); NSLog(@"DCh8HPExZ06fOosS9jIutATlNGyU4RrgM"); NSLog(@"rGdwI7xgbVJBDWUQ5PspzvNly4"); } -(void)aVubr6teBAP:(UISearchBar*) aVubr6teBAP aCEgJ7HRv:(UIScreen*) aCEgJ7HRv azaLV:(UIDevice*) azaLV ae46LNVEOKT:(UIView*) ae46LNVEOKT ai5hAUeg6:(UIInputView*) ai5hAUeg6 { NSLog(@"PG0AWIzM5uSYNCfbdJRO9co7nQqiwa"); NSLog(@"tOLdnfN4Hbrz6o"); NSLog(@"xWbz5Zd0TYEvat8eAVN"); NSLog(@"VulSIcYARgrxMkDCmhvfOq91LQa8K3J"); NSLog(@"lcY9OyvpfaACE24I"); NSLog(@"ArPJ8WGCDmEIUsLuqxhT67NgF90"); NSLog(@"g90aimfeG1yZv3LVSAIzCojtKnrcMX"); NSLog(@"GFARBupnPM7HNQ1iEXxWcZ3atbK2jm5"); NSLog(@"so194Jm8gGz2NAV6FxSXIQiYcTP0"); NSLog(@"tpyv7gOY6EhfWbwGxCHnmU08TM"); NSLog(@"1XFJuhI2iryY3eM5RPcK4sQtVBWGOpZUAnTf6v"); } -(void)avSgVFN:(UIMotionEffect*) avSgVFN aC7wKdu:(UIControl*) aC7wKdu au726pKEIf0:(UIWindow*) au726pKEIf0 axrZfaK:(UIActivity*) axrZfaK a2kRY9w6:(UIKeyCommand*) a2kRY9w6 aC1nOl:(UIWindow*) aC1nOl aAv4zq0Qi:(UIMotionEffect*) aAv4zq0Qi aSCv3jxb5a1:(UIButton*) aSCv3jxb5a1 aYhDQn86K:(UIFontWeight*) aYhDQn86K aNdKtI:(UIBarButtonItem*) aNdKtI aEOPA1MYhd:(UITableView*) aEOPA1MYhd a9Glm:(UIBarButtonItem*) a9Glm { NSLog(@"vzPykrq9XNRbZYtOhI5SuFQGafB1"); NSLog(@"QZEge0HmvGq9V4TBWxRinKdSNlDs1ktua"); NSLog(@"Rhtg0exXriwy6NLp8D"); NSLog(@"utZCRMqLgosB2fbXYrUIpHwz0xE"); NSLog(@"XWumyU8gknfs"); NSLog(@"xQvFH7Sm8gdN4taX3q"); NSLog(@"y7xiamp1oMHKjtrOV"); NSLog(@"NKurliSXnAzFJEHv"); NSLog(@"OhYXntuIj4UN21P7Ab5G6aJWQgrBeiDzvc"); NSLog(@"ItovmiDrcYE24l"); NSLog(@"ZuMypkwq5WVjIPhliA0Kg"); NSLog(@"8GzATncSoVODa0xPLQiWYUZqF3kHIRp"); NSLog(@"ZL3h0dNcvH7"); NSLog(@"flzwBXUqb4TJtSxV2a9ZgmpPA081ju6Qvr"); NSLog(@"6StIwmk9KRxjVJ3hr"); NSLog(@"Th7Gn5FaO1AgJtZN6QYR02Clcif8PKWb3eU4"); NSLog(@"IBrdQcymMEvDZ6N3HzOCxoLWaJkuPRw"); NSLog(@"vl3wq71Pjk2gIGSMLV6Uu8"); NSLog(@"EIV5ObZRqFaXUGL2Bi1PDSlxuYzgC"); NSLog(@"2KjwLZ40edWIDo8cBa9SqyNlQYH3hTR"); } -(void)a7NREnGC:(UIControlEvents*) a7NREnGC aHmq9xlz0vJ:(UIScreen*) aHmq9xlz0vJ aMQUVSE23O:(UIAlertView*) aMQUVSE23O anW6uOFo:(UIVisualEffectView*) anW6uOFo aCFn7w2Ju:(UIDevice*) aCFn7w2Ju aFp5uGR:(UIControl*) aFp5uGR { NSLog(@"r2GNoxPgLIeAsZmBH6kinh"); NSLog(@"DhgEKRtOYzmVUQIPe6wiLB4sAJH3"); NSLog(@"koDIaAMR8Qr5jPC69iv1EYHmBn"); NSLog(@"PYKxhNbzcZuH1MeSk9Tymr6O5CGvRnXaWB"); NSLog(@"y5nfahMVIxcAsl0LbdT7RWEQ6JtjrvXUoCOND"); NSLog(@"C7IvJ6oXYai4ujzy8s1tpDfLG5nrOwRgMUc2Wl9F"); NSLog(@"r0vuwyS1YsRiL"); NSLog(@"71WDqKEgjQuG"); NSLog(@"IkQ2UbPBqTi"); NSLog(@"jlTh9KMuZE"); NSLog(@"blcCegLBwAI96Rm78NXYsKFvDMV3ad4tTpSEfo0"); NSLog(@"XZwshaQREcx1NuCmD9WS52A3KGzMfJYv"); } -(void)akGNcP9qQi:(UIControlEvents*) akGNcP9qQi azEkh8wxW:(UIColor*) azEkh8wxW aVXqyEOme:(UIControlEvents*) aVXqyEOme aUjiAZP:(UIVisualEffectView*) aUjiAZP aRVqExA:(UIMotionEffect*) aRVqExA aNk8je4muI:(UICollectionView*) aNk8je4muI { NSLog(@"Ky7V5ipkesSbC2AFL0NHWmxB1v4GoOlYJD"); NSLog(@"MVmdFcgZ27W6uBi9R8PUTkAbSfGyQtwCD5"); NSLog(@"HjkvLQtKIMR8q9Glcw7mhyJEenp"); NSLog(@"z9UIQ5bwNuSro1a72jlg8"); NSLog(@"681jLqtVWFym5n4SlI0Mz2NbegGDZuEC"); NSLog(@"fgpqkHz1YFwsMA"); NSLog(@"SPxpeloBzLUs7YMnjibCXdtuaTON"); NSLog(@"QbMiGzY3LT8R1yDWhkZFw0BAmaSHJ6I2CKNugje"); NSLog(@"kFClAy756VcvpZufaTwBe8ti4EXhGd0jOKMn"); NSLog(@"vExTAaO8PYSQ132kKyL0WpjVRhBfMn7b9JFN6Ui"); NSLog(@"DLkdYlHW2P3UAG8exFhNmI"); } @end