iOS仿Uber筛选栏效果

作者:简简单单 2017-03-01

这个是之前项目中用的仿Uber筛选栏,现在要改了,改之前把这个记录下来,万一有人用到了,就可以直接拿来用了,这个是在大神的基础上改的,还行吧,但是觉得有点丑!有需要的可以看一下,方法有点笨,大神勿喷。

1.加载数据

 代码如下复制代码

* 加载数据

 */

- (void)loadData{

 timeArray = @[@"6小时之内",@"12小时之内",@"24小时之内"];

 locationArray = @[@"全城",@"附近1km",@"附近3千米",@"附近5千米",@"附近10千米"];

 piceArray = @[@"价格不限",@"0-5元",@"5-20元",@"20-50元",@"50-100元"];

 

}

2.加载视图

 代码如下复制代码

* 加载UI视图

 */

-(void)shuaxin{

 

 dicengbackeView = [[UIView alloc]initWithFrame:CGRectMake(0, kScreenHeight-140, kScreenWidth, 420)];

 

 dicengbackeView.backgroundColor = [UIColor colorWithWhite:0.850 alpha:1.000];

 

 [self.view addSubview:dicengbackeView];

 

 filter = [[SEFilterControlList alloc]initWithFrame:CGRectMake((kScreenWidth-300)/2, -5, 300, 30) Titles:[NSArray arrayWithObjects:@"时间", @"附近", @"价格",nil]];

 

 filter.userInteractionEnabled = YES;

 

 [filter addTarget:self action:@selector(filterValueChanged:) forControlEvents:UIControlEventTouchUpInside];

 

 [filter setProgressColor:[UIColor groupTableViewBackgroundColor]];//设置滑杆的颜色

 

 [filter setTitlesFont:[UIFont fontWithName:@"Didot"size:16]];

 

 [filter setTopTitlesColor:[UIColor blackColor]];//设置滑块上方字体颜色

 

 [filter setSelectedIndex:0];//设置当前选中

 

 [dicengbackeView addSubview:filter];

 

 

 Button_UIView = [[UIView alloc]initWithFrame:CGRectMake(0, 70,kScreenWidth,240)];

 

 Button_UIView.backgroundColor = [UIColor colorWithWhite:0.730 alpha:1.000];

 

 [dicengbackeView addSubview:Button_UIView];

 

 _backsrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0,kScreenWidth , 240)];

 

 _backsrollView.pagingEnabled = YES;

 

 _backsrollView.userInteractionEnabled = YES;

 

 _backsrollView.contentSize =CGSizeMake(kScreenWidth*3, 0);

 //设置是否滚动

 _backsrollView.scrollEnabled = NO;

 

 [Button_UIView addSubview:_backsrollView];

 

 imageView1 = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, kScreenWidth, _backsrollView.frame.size.height)];

 

 imageView2 = [[UIImageView alloc]initWithFrame:CGRectMake(kScreenWidth, 0, kScreenWidth, _backsrollView.frame.size.height)];

 

 imageView3 = [[UIImageView alloc]initWithFrame:CGRectMake(kScreenWidth*2, 0, kScreenWidth, _backsrollView.frame.size.height)];

#pragma mark ==========Loading===================

 imageView1.userInteractionEnabled = YES;

 

 imageView2.userInteractionEnabled = YES;

 

 imageView3.userInteractionEnabled = YES;

 

#pragma mark ==========Loading===================

 for(intg =0; g<3; g++) {

 

  UIButton *button1 = [UIButton buttonWithType:UIButtonTypeCustom];

 

  button1.frame = CGRectMake(0, (180/3)*g, kScreenWidth, 180/3);

  button1.backgroundColor = [UIColor colorWithWhite:0.850 alpha:1.000];

 

  [button1 setTitle:timeArray[g] forState:UIControlStateNormal];

 

  [button1 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

 

  button1.tag = 100+g;

 

  button1.titleLabel.textAlignment = NSTextAlignmentCenter;

 

  button1.layer.borderColor = [[UIColor colorWithWhite:0.837 alpha:1.000] CGColor];

 

  button1.layer.borderWidth = 1.0f;

 

  [button1 addTarget:self action:@selector(timebtn:) forControlEvents:UIControlEventTouchUpInside];

 

  [imageView1 addSubview:button1];

 

 }

 

 for(intk =0; k<5; k++) {

 

  UIButton *button2 = [UIButton buttonWithType:UIButtonTypeCustom];

 

  button2.frame = CGRectMake(0, (180/5)*k, kScreenWidth, 180/5);

  button2.backgroundColor = [UIColor colorWithWhite:0.850 alpha:1.000];

 

  [button2 setTitle:locationArray[k] forState:UIControlStateNormal];

 

  [button2 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

 

  button2.tag = 200+k;

 

  button2.titleLabel.textAlignment = NSTextAlignmentCenter;

 

  button2.layer.borderColor = [[UIColor colorWithWhite:0.837 alpha:1.000] CGColor];

 

  button2.layer.borderWidth = 1.0f;

 

  [imageView2 addSubview:button2];

 

  [button2 addTarget:self action:@selector(timebtn:) forControlEvents:UIControlEventTouchUpInside];

 

 }

 

 for(inty =0; y<5; y++) {

 

  UIButton *button3 = [UIButton buttonWithType:UIButtonTypeCustom];

 

  button3.frame = CGRectMake(0, (180/5)*y, kScreenWidth, 180/5);

 

  button3.backgroundColor = [UIColor colorWithWhite:0.850 alpha:1.000];

 

  [button3 setTitle:piceArray[y] forState:UIControlStateNormal];

 

  [button3 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

 

  button3.tag = 300+y;

 

  button3.titleLabel.textAlignment = NSTextAlignmentCenter;

 

  button3.layer.borderColor = [[UIColor colorWithWhite:0.837 alpha:1.000] CGColor];

 

  button3.layer.borderWidth = 1.0f;

 

  [imageView3 addSubview:button3];

 

  [button3 addTarget:self action:@selector(timebtn:) forControlEvents:UIControlEventTouchUpInside];

 }

 

 [_backsrollView addSubview:imageView1];

 

 [_backsrollView addSubview:imageView2];

 

 [_backsrollView addSubview:imageView3];

 

}

 

- (void)filterValueChanged:(SEFilterControlList *)sender{

 

 NSLog(@"%d",sender.SelectedIndex);

 switch(sender.SelectedIndex) {

  case0:{

 

   break;

  }

  case1:{

 

   break;

  }

  case2:{

 

   break;

  }

  default:

   break;

 }

 

 _backsrollView.contentOffset = CGPointMake([sender SelectedIndex]*kScreenWidth, 0);

 

// self.table.contentInset = UIEdgeInsetsMake(0, 0, 230, 0);

 

 [UIView animateWithDuration:0.2 animations:^{

 

 

  [UIView animateWithDuration:0.2 animations:^{

 

   dicengbackeView.frame = CGRectMake(0,kScreenHeight-310 , kScreenWidth,310);

  }];

 

 

 } completion:^(BOOLfinished) {

 

 }];

 

}

 

 

- (void)timebtn:(UIButton *)sender{

 

 switch(sender.tag) {

  case100:{

 

   [shaixuan setObject:@"6"forKey:@"times"];

 

   [self dianji];

   [self chuanzhi];

 

   break;

  }

  case101:{

 

 

 

   [shaixuan setObject:@"12"forKey:@"times"];

 

 

   [self dianji];

   //   [self pianyi];

   [self chuanzhi];

   break;

  }

  case102:{

 

   [shaixuan setObject:@"24"forKey:@"times"];

 

 

   [self dianji];

   //   [self pianyi];

   [self chuanzhi];

   break;

  }

 

  case200:{

 

 

   [shaixuan setObject:@"0"forKey:@"nearby"];

 

 

   [self dianji];

   //   [self pianyi];

   [self chuanzhi];

 

   break;

  }

 

  case201:{

 

 

 

   [shaixuan setObject:@"1"forKey:@"nearby"];

 

 

   [self dianji];

   //   [self pianyi];

   [self chuanzhi];

 

   break;

  }

 

  case202:{

 

 

 

   [shaixuan setObject:@"3"forKey:@"nearby"];

 

 

   [self dianji];

   //   [self pianyi];

   [self chuanzhi];

 

   break;

  }

 

 

  case203:{

 

 

 

   [shaixuan setObject:@"5"forKey:@"nearby"];

 

   [self dianji];

   //   [self pianyi];

   [self chuanzhi];

 

   break;

  }

 

 

  case204:{

 

 

 

   [shaixuan setObject:@"10"forKey:@"nearby"];

 

 

   [self dianji];

   //   [self pianyi];

   [self chuanzhi];

 

   break;

  }

 

  case300:{

 

 

 

   [shaixuan setObject:@"0"forKey:@"pricenumber"];

 

 

   [self dianji];

   //   [self pianyi];

   [self chuanzhi];

 

   break;

  }

  case301:{

 

 

 

   [shaixuan setObject:@"1"forKey:@"pricenumber"];

 

 

   [self dianji];

   //   [self pianyi];

   [self chuanzhi];

   break;

  }

  case302:{

 

 

 

   [shaixuan setObject:@"2"forKey:@"pricenumber"];

 

 

   [self dianji];

   //   [self pianyi];

   [self chuanzhi];

 

   break;

  }

  case303:{

 

   [shaixuan setObject:@"3"forKey:@"pricenumber"];

 

   [self dianji];

   //   [self pianyi];

   [self chuanzhi];

 

   break;

  }

  case304:{

 

   [shaixuan setObject:@"4"forKey:@"pricenumber"];

 

 

   [self dianji];

   //   [self pianyi];

   [self chuanzhi];

 

   break;

  }

  default:

   break;

 }

#pragma mark ===================

 

}

 

 

-(void)dianji{

 

 

 [UIView animateWithDuration:0.2 animations:^{

 

  dicengbackeView.frame = CGRectMake(0, kScreenHeight-135, kScreenWidth, 370);

 }];

}

//将参数传给后台,请求数据

-(void)chuanzhi{

 

 

}

相关文章

精彩推荐