多个UIPickerView切换(纯代码)
来源:互联网 发布:我的世界凋零风暴js 编辑:程序博客网 时间:2024/06/06 08:27
1.目的
有时候,我们需要用户通过对不同类别进行选择后,得到一个拼接的效果。
2.场景
假设这样的场景:我是一个搞投资的,手机App上有一款应用,我希望这款应用能查询我对于不同平台、不同时间、不同操作所有明细。比如我想查查我在2015年4月份,在火球上购买了多少份额,可以考虑一下方案进行拼接后,得到最终的拼接结果,并查出对应的数据。
3.效果图
4.思路
4.1UIPickerView的初步使用
#pragma mark - UIPickerView Date Source delegate// 当前数据需要显示的列数- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView// 当前列所有数据的总行数- (NSInteger) numberOfRowsInComponent:(NSInteger)component#pragma mark - UIPickerView delegate// 当前行所对应的cotent- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component// 用户滑动响应- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
4.2更换选择的数据
主要是通过UIPickerView的reloadAllComponents进行更新数据。
// 重新加载数据[pickerView reloadAllComponents];
4.3顶部向下箭头的定位问题
顶部多个按钮是向用户提供选择所用的,这里采用的是动态生成的方法,有一点需要注意的是,向下箭头的定位问题,特别是x方向。我采取了通过计算不同数组中字符串长度最长的宽度,让向下箭头进行定位。这里有个重要的点是计算字符串的宽高,用到的是官方的函数
// 计算字符串长度- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context ;
参数说明
4.4底部控件的展示与消失
通过一个大的View包起所有东西,因为我们希望当用户点击顶部随便一个按钮或点击底部完成时有对应的出现与消失,方便直接控制alpha值。我所选用的动画是控制View的缩放(transform)与透明度(alpha)进行出现与消失。
// 隐藏底部- (void)fadeHideIn{ bottomView.transform = CGAffineTransformMakeScale(1.3, 1.3); bottomView.alpha = 0; [UIView animateWithDuration:.35 animations:^{ bottomView.alpha = 1; bottomView.transform = CGAffineTransformMakeScale(1, 1); }];}// 出现底部- (void)fadeHideOut{ [UIView animateWithDuration:.35 animations:^{ bottomView.transform = CGAffineTransformMakeScale(1.3, 1.3); bottomView.alpha = 0.0; } completion:^(BOOL finished) { if (finished) {} }];}
4.5蓝色向左向右的切换功能
其实这个很简单,就是通过更换UIImageView的image来更换状态的,对应的状态逻辑应该不难懂,而切换时则需要用到4.2的更换选择的数据。具体可以查看以下两个方法
// 箭头切换数据- (void)changePickerViewData:(id)sender// 预设箭头状态- (void)initArrowState
4.6中间结果的拼接
其实就是把顶部所有按钮的文字进行提取后,再以空格的形式拼接在一起。
// 获取并显示最后拼接结果- (void)getAndShowSelectedText
5.0代码下载链接
http://download.csdn.net/download/but34/8642355
0 0
- 多个UIPickerView切换(纯代码)
- 纯js图片切换幻灯片代码
- 代码实现UIPickerView
- UIPickerView的代码实现
- 代码使用UIPickerView
- 代码实现UIPickerView
- 代码实现UIPickerView
- 代码实现UIPickerView
- 代码实现UIPickerView
- 新闻图片切换代码(纯js,no flash)
- 新闻图片切换代码(纯js,no flash)
- 纯CSS简洁的TAB切换效果代码
- 【IOS学习】视图切换,纯代码实现 UITabBarController,NavigationController
- 纯js +css 仿flash 图片切换效果代码
- 纯CSS3实现动画不规则的tab标签切换代码
- 仿QQ切换按钮,纯代码实现,告别图片
- 纯原生javascript实现图片轮播切换效果代码。
- 纯绿色集成环境,可切换180个Mysql、700个PHP版本
- 使用SVN进行项目管理
- 用蒙特卡罗方法计算圆周率的近似值,java程序
- TortoiseSVN中分支和合并实践
- 北京软件开发-java技术注意事项
- Servlet生成验证码在JSP页面显示,单击验证码图片可刷新
- 多个UIPickerView切换(纯代码)
- 毕业设计-基于JAVAEE的B2B2C网上商城-中遇到的问题
- Android视图消息传递
- 基于类加载DexClassLoader的“插件”结构
- maven学习笔记-02-maven配置篇
- django函数HttpResponse
- ubuntu11.10下编译openwrt的环境配置
- 创建及删除索引
- RTSP协议分析-3