iOS仿Uber筛选栏效果
发布时间 - 2026-01-10 22:44:19 点击率:次这个是之前项目中用的仿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 (int g =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 (int k =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 (int y =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) {
case 0:{
break;
}
case 1:{
break;
}
case 2:{
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:^(BOOL finished) {
}];
}
- (void)timebtn:(UIButton *)sender{
switch (sender.tag) {
case 100:{
[shaixuan setObject:@"6" forKey:@"times"];
[self dianji];
[self chuanzhi];
break;
}
case 101:{
[shaixuan setObject:@"12" forKey:@"times"];
[self dianji];
// [self pianyi];
[self chuanzhi];
break;
}
case 102:{
[shaixuan setObject:@"24" forKey:@"times"];
[self dianji];
// [self pianyi];
[self chuanzhi];
break;
}
case 200:{
[shaixuan setObject:@"0" forKey:@"nearby"];
[self dianji];
// [self pianyi];
[self chuanzhi];
break;
}
case 201:{
[shaixuan setObject:@"1" forKey:@"nearby"];
[self dianji];
// [self pianyi];
[self chuanzhi];
break;
}
case 202:{
[shaixuan setObject:@"3" forKey:@"nearby"];
[self dianji];
// [self pianyi];
[self chuanzhi];
break;
}
case 203:{
[shaixuan setObject:@"5" forKey:@"nearby"];
[self dianji];
// [self pianyi];
[self chuanzhi];
break;
}
case 204:{
[shaixuan setObject:@"10" forKey:@"nearby"];
[self dianji];
// [self pianyi];
[self chuanzhi];
break;
}
case 300:{
[shaixuan setObject:@"0" forKey:@"pricenumber"];
[self dianji];
// [self pianyi];
[self chuanzhi];
break;
}
case 301:{
[shaixuan setObject:@"1" forKey:@"pricenumber"];
[self dianji];
// [self pianyi];
[self chuanzhi];
break;
}
case 302:{
[shaixuan setObject:@"2" forKey:@"pricenumber"];
[self dianji];
// [self pianyi];
[self chuanzhi];
break;
}
case 303:{
[shaixuan setObject:@"3" forKey:@"pricenumber"];
[self dianji];
// [self pianyi];
[self chuanzhi];
break;
}
case 304:{
[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{
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# iOS
# 筛选栏
# angularjs 实现带查找筛选功能的select下拉框实例
# Angularjs实现带查找筛选功能的select下拉框示例代码
# AngularJs页面筛选标签小功能
# js实现表格筛选功能
# jquery遍历数组与筛选数组的方法
# jquery遍历筛选数组的几种方法和遍历解析json对象
# JQuery筛选器全系列介绍
# Jquery仿淘宝京东多条件筛选可自行结合ajax加载示例
# jQuery筛选器children()案例详解(图文)
# angular实现商品筛选功能
# 加载
# 大神
# 之内
# 是在
# 基础上
# 用了
# 看一下
# 改了
# 还行
# 大家多多
# 就可以
# 有人用
# 滑块
# action
# NSArray
# Titles
# userInteractionEnabled
# addTarget
# arrayWithObjects
# nil
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何用狗爹虚拟主机快速搭建网站?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
PHP正则匹配日期和时间(时间戳转换)的实例代码
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
大连 网站制作,大连天途有线官网?
用yum安装MySQLdb模块的步骤方法
如何快速配置高效服务器建站软件?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
详解Android——蓝牙技术 带你实现终端间数据传输
香港服务器建站指南:免备案优势与SEO优化技巧全解析
Laravel如何使用Vite进行前端资源打包?(配置示例)
深圳网站制作平台,深圳市做网站好的公司有哪些?
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
香港服务器选型指南:免备案配置与高效建站方案解析
如何用低价快速搭建高质量网站?
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
详解Huffman编码算法之Java实现
如何用已有域名快速搭建网站?
Laravel怎么实现验证码(Captcha)功能
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
Python进程池调度策略_任务分发说明【指导】
PythonWeb开发入门教程_Flask快速构建Web应用
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
Linux后台任务运行方法_nohup与&使用技巧【技巧】
微信小程序 配置文件详细介绍
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
在centOS 7安装mysql 5.7的详细教程
Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧
如何彻底删除建站之星生成的Banner?
如何续费美橙建站之星域名及服务?
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
高性价比服务器租赁——企业级配置与24小时运维服务
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
如何在阿里云虚拟服务器快速搭建网站?
如何制作一个表白网站视频,关于勇敢表白的小标题?
Python函数文档自动校验_规范解析【教程】
中国移动官方网站首页入口 中国移动官网网页登录
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
重庆市网站制作公司,重庆招聘网站哪个好?
Laravel怎么实现模型属性的自动加密
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
油猴 教程,油猴搜脚本为什么会网页无法显示?
如何基于PHP生成高效IDC网络公司建站源码?
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性

