// // 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)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 { NSLog(@"ABoxbVRYetKLHmXuOaD"); NSLog(@"0aqEyftXiMoR7PL3852WhcF1DdSBxHQ"); NSLog(@"edsLCwtnHhqUDOry"); NSLog(@"aLCdjroMVy3DXUQvift"); NSLog(@"6RMiz7BXCYIeUQEw"); NSLog(@"ZuNJVck6zU"); NSLog(@"kb6FGRu9ymtheUz14rSjOAETZpn5WwBPDYJd37qi"); NSLog(@"N14sISW0aHULcDmxoljPq5kEuG3Y7Ffdep8bgXO"); NSLog(@"ArBeHIV6mjWoN17gxb9dTCU0qJDE"); NSLog(@"rOkV80fTLa7ZNoCp2GzxSqUmWu5jX3dP4Jy6"); NSLog(@"YPnJ2BWN0lj6OEL"); NSLog(@"mKjf68GEbdWBFt5JcMYC9isZvpxAaSNUzI1yen"); NSLog(@"2vGFfXitedWS4NJwLaTjYVo0QgACZPcIx"); NSLog(@"5kBw8bYW79UztqGeshC1LVPJoQRivOnZmK42a"); NSLog(@"ZJ7T4LNvohuFgYbKs8nPDCRmVwrH30"); NSLog(@"3RbE4ieUdLOWxHQXVTacmP8fp6IktvJM"); NSLog(@"m8gra3s1LSctJHiAowYPzlTFWOx"); } -(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 { NSLog(@"MsZu6fR2ODkIw3YzASPpmG10yr9tB"); NSLog(@"VZ8fCTs9qhrmkDSPOvLAB1w4bj0Mn5gEYJIu"); NSLog(@"6gTHlwtXDJYdhkaCQeE05jb28ny9qisf"); NSLog(@"Mic46vT9u2G1EsylOBbWNjoJ83QhYm0ng"); NSLog(@"jpQPS8X7kyNouliMwF"); NSLog(@"f4tHadyV9I"); NSLog(@"BqGKhPSwx5e60Z9EIkQJMXYlVALz4Tp1m"); NSLog(@"ipMrDbACsyGcFQ84JT"); NSLog(@"wLt0OjKG3oakry8gAMRzWPuHTCvXnQYcl"); NSLog(@"fj5ErXeNWKaTPqx"); NSLog(@"qhL325FU4C6"); NSLog(@"6SIPQjqT5Ubh3c7AnCDek1VtxyYJaLRgFEvl"); } -(void)aKDjtQp:(UIApplication*) aKDjtQp a3JIxrY8A0:(UIDevice*) a3JIxrY8A0 alVhUE:(UIEvent*) alVhUE a0cdLEe:(UIView*) a0cdLEe aclNomF:(UIWindow*) aclNomF { NSLog(@"LSobjMrflWQiUEITZXO5yzmH8wDJ"); NSLog(@"xsST9NMqAKpRVWrQ5d3aCXfejHz"); NSLog(@"U6VItuq2nJr8CckELYA9NPSjKeR"); NSLog(@"rvI1jhc6KLSMbYVqlx"); NSLog(@"gAf4I0zjSp5GyQ9o3rhPKListEVWm8"); NSLog(@"XbvgTlIra2M5FR0UfSyWc8s1OGYmuLxPd7qw"); NSLog(@"4rg7l82kbsWZafjY"); NSLog(@"p3LBoOHNjSmkAfz07Q6CUuJYVv"); NSLog(@"FE6pYlZrQzePBvCwA"); NSLog(@"bocgIt8YnMAOsWj5fBaQRp3"); NSLog(@"W9MKcRSly7vEDCprkd"); NSLog(@"8MKzalbfwH97NrSEVIvUmBGFOX"); NSLog(@"8ePK9EmBph"); NSLog(@"XaFtQMg8lWexu7nCh0k3djJm6"); NSLog(@"LB7vHazTRIhZp82Uf1bu0"); NSLog(@"rGIg1DAuwcXNMjmPaxWSYVho8Ji2LRn65"); NSLog(@"2JEhRbMmW7SuCeI31V0ntLUiA"); } -(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 { NSLog(@"uWnzXtRdqTgU24cIDE3yNmBHVk9J"); NSLog(@"8twb0dasqvyCDxYTM3WBRhZK5HVulpmF4cGOo"); NSLog(@"Z5jGziMFnOK72eU"); NSLog(@"wyehp8rCQL7gMtWSAdqm5slinfBjx2va"); NSLog(@"xfmuN2actwgRUGb8LeWFodAz4X5"); NSLog(@"CrP0zlHc2MTbJgnLAvq5OKs6f4QdRNmai"); NSLog(@"tKGQzT2kVYvMoyslAEewfbUDcFPgSa79"); NSLog(@"YsXx9LUvoI1Q0cAyCTaEDfgh8nM5BRdWPuZFO"); NSLog(@"ZC3aXK0zqh27DgOk"); NSLog(@"BtPfhs4mG9y3"); NSLog(@"BU2ubiLJrkQKGnI6C3jFDeTMZc1w8HS4XO"); NSLog(@"Jp6s2lXgSAy71bLoWqMZcBkdrhmnT"); NSLog(@"OVy1ljfdT2Ixu89r5agWL3KFNAcp6oHR7vwJzEQ"); NSLog(@"JYm6gqnMVEDHxZtBrKiPh2Lfu95GkwIWTved4"); NSLog(@"tYpkfP7FEmowAMdheGXqbs"); NSLog(@"ZN1ECyL9BbtuJ"); NSLog(@"lv5bQUaVzKWZef1hHuiS6F8dYsCm"); } -(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 { NSLog(@"DwZX069NC5nPgQUHGpEeq4zyOjMmAu"); NSLog(@"8Soi60MRWjcvelyTA9qZEOu2w1azk5tUxYG7mJg"); NSLog(@"tNS7q5PO4FgwKdx"); NSLog(@"4AGXkTiNjCnmuV368"); NSLog(@"Yi43xNzGJkHBte6WDX2mdOu8j9fIahpP"); NSLog(@"uv8ksVmgeTALWtElc0FqSidPI6Zo"); NSLog(@"dBrT0ShpogzF1AxwPtQKV"); NSLog(@"FVfZOPaB2JYyqU0"); NSLog(@"Y62WMxmQGRUFowZs1CetVbznvJ7OhkNfEgL"); NSLog(@"XdDKWjGpwJH"); NSLog(@"arzCuSk6Hys0XwnAUMEvfth"); NSLog(@"d3Flc8O6uGLaJVXvEfYoB0N4xZDM7iqz"); NSLog(@"UFjxRsAeck"); NSLog(@"c4pxOM6t5uwRveJrEFKCnDzsNl90dZa"); NSLog(@"Ow4uG9i0rYR3MtXljDA1"); } -(void)ahlmOHtr:(UIDocument*) ahlmOHtr agIANMJ6:(UIColor*) agIANMJ6 ads0ROa:(UIScreen*) ads0ROa aPWEypJZX:(UIViewController*) aPWEypJZX aervFUW3qME:(UIDevice*) aervFUW3qME aKYsQngtv:(UIButton*) aKYsQngtv az2xQq:(UIInputView*) az2xQq { NSLog(@"1rmCVQJz30H8SsW"); NSLog(@"V6rvQSUPxyh9AIkz"); NSLog(@"Wc6IhXOxPinQRymuvFToBGpqg"); NSLog(@"jrBSyDIuOCLcbWKktXgpdZ"); NSLog(@"mOvyYI9wsCBFWgt2Pnhq"); NSLog(@"mC3tO74hrbYePUp8sKnE"); NSLog(@"aXHYtdWDUh1jFM2i9"); NSLog(@"CsOX4HZFLW5xoUVuyvbmjE198pqdGizlInwTS"); NSLog(@"Xr1CfhUa4uP60zi5QywHY3Fv8ODIZxdkASEKRl"); NSLog(@"OQUBYFdXfIyMHe78"); NSLog(@"VQgRsB018EuOGvodKj6PFHq"); } @end