UIActionSheet上加入UIPickerView iOS8替换方案
此套替换方案採用“UIView+动画”方式实现(将UIActionSheet替换为UIView)
界面层级例如以下:
第一层:view(这一层充满整个屏幕,初始化时颜色为透明。userInteractionEnabled 为NO。显示时颜色为黑色,alpha值设置为0.6,userInteractionEnabled 为YES。作用是遮挡界面上其它的控件。)
第二层:contentView(这一层用来取代原来UIActionSheet。
UIPickerView就加入在这一层上。颜色为白色,alpha值设置为0.9)
第三层:UIPickerView
核心代码例如以下:
-(void)showPickerView
{
self.userInteractionEnabled = YES;
[UIView animateWithDuration:0.3 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut animations:^(void){
self.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.6];
[self.contentView setFrame:CGRectMake(0, SCREEN_SIZE.height-picker.frame.size.height, 320, picker.frame.size.height)];
} completion:^(BOOL isFinished){ }];
}
-(void)hidePickerView
{
[UIView animateWithDuration:0.3 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut animations:^(void){
self.backgroundColor = [UIColor clearColor];
[self.contentView setFrame:CGRectMake(0, SCREEN_SIZE.height, SCREEN_SIZE.width, SCREEN_SIZE.height)];
} completion:^(BOOL isFinished){
self.userInteractionEnabled = NO;
}];
}
注:
1.上述代码中的self即为第一层的view。
2.最好将这个功能封装成一个类,这样多个地方都用到的话就能够直接使用。
UIActionSheet上加入UIPickerView iOS8替换方案的更多相关文章
- arguments.callee的作用及替换方案
		arguments.callee的作用 arguments 的主要用途是保存函数参数, 但这个对象还有一个名叫 callee 的属性,返回正被执行的 Function 对象,也就是所指定的 Funct ... 
- Google Earth API 替换方案
		众所周知,GE API将会在15年12月25日结束服务,对于众多采用该API的软件,需要一些替换方案. 例如google map或者cesiumjs http://cesiumjs.org/ 或者尝试 ... 
- Microsoft.AspNet.Web.Optimization.Bundle的完美替换方案
		Web应用程序中包含大量的样式(css)和脚本(js)文件,这些文件的引用.管理和发布有很多解决方案.在Asp.Net MVC应用程序中,大家最熟悉的解决方案应属Microsoft.AspNet.We ... 
- switch...case...之替换方案一
		很多时候,当switch中有N个分支,且分支数已达10+,每个分支都是一个不小的方法体,那我们是不是应该考虑换一种方式来实现这个分支. 而我目前所能想到的是会用到如下几种方法. 1.Action 2. ... 
- 【一个idea】YesSql,一种在经典nosql数据库redis上实现SQL引擎的方案(我就要开历史的倒车)
		公众号链接 最高级的红酒,一定要掺上雪碧才好喝. 基于这样的品味,我设计出了一套在经典nosql数据库redis上实现SQL引擎的方法.既然redis号称nosql,而我偏要把SQL加到redis上, ... 
- Freeline--Android平台上的秒级编译方案
		Freeline 技术揭秘 Freeline是什么? Freeline是蚂蚁金服旗下一站式理财平台蚂蚁聚宝团队15年10月在Android平台上的量身定做的一个基于动态替换的编译方案,5月阿里集团内部 ... 
- JAVA字符配置替换方案
		在JAVA中,很多时候,我们后台要对数据进行变量配置,希望可以在运行时再进行变量替换.我们今天给大空提供的是org.apache.commons.text方案. 1.首先,引用org.apache.c ... 
- Android IOS WebRTC 音视频开发总结(五七)-- 网络传输上的一种QoS方案
		本文主要介绍一种QoS的解决方案,文章来自博客园RTC.Blacker,欢迎关注微信公众号blacker,更多详见www.rtc.help QoS出现的背景: 而当网络发生拥塞的时候,所有的数据流都有 ... 
- spring boot拦截器WebMvcConfigurerAdapter,以及高版本的替换方案(转)
		文章转自 http://blog.51cto.com/12066352/2093750 最近项目采用spring icloud,用的spring boot版本是1.5.x的,spring boot 2 ... 
随机推荐
- JOISC 2018 Day 2 最差记者3
			JOISC 2018 Day 2 最差记者3 题意:  数轴上有\(N\)个选手和一个旗手,旗手在位置\(0\)<第\(i\)人的位置为\(-i\),每个选手有一个参数\(D_i\).旗手每单 ... 
- BZOJ4652: [Noi2016]循环之美(莫比乌斯反演,杜教筛)
			Description 牛牛是一个热爱算法设计的高中生.在他设计的算法中,常常会使用带小数的数进行计算.牛牛认为,如果在 k 进制下,一个数的小数部分是纯循环的,那么它就是美的.现在,牛牛想知道:对 ... 
- GetInvocationList 委托链表
			最近发现C#程序初始化时在构造函数中,偶尔出现事件注册不成功.后查资料发现有GetInvocationList 这么一个获取类中的委托链表的函数, 使用方法如下: 1.在需委托的类(Class1)中增 ... 
- POJ——T 2752 Seek the Name, Seek the Fame
			http://poj.org/problem?id=2752 Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 20418 ... 
- Install Docker Mac OS X
			检查 Mac OS version 要求必须是 OS X 10.6 Snow Leopard or newer to run Boot2Docker 安装 Boot2Docker 列表内容 下载地址: ... 
- pytest_多用例执行(1)
			一.首先创建测试套件 # -*- coding:utf-8 -*-from __future__ import print_functionimport pytestimport allure cla ... 
- 洛谷 P1032 字符变换
			洛谷 P1032 字符变换 题目描述 已知有两个字串 A,B 及一组字串变换的规则(至多 6 个规则): A1 -> B1 A2 -> B2 规则的含义为:在 A 中的子串 A1 ... 
- 【Codeforces Round #453 (Div. 2) B】Coloring a Tree
			[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 从根节点开始. 显然它是什么颜色.就要改成对应的颜色.(如果上面已经有某个点传了值就不用改 然后往下传值. [代码] #includ ... 
- 【2017 Multi-University Training Contest - Team 9】FFF at Valentine
			[链接]http://acm.hdu.edu.cn/showproblem.php?pid=6165 [题意] 一张有向图,n个点,m条边,保证没有重边和自环.询问任意两个点能否满足任何一方能够到达另 ... 
- Apache httpd.conf 配置文件语法验证
			Apache 的 httpd.conf文件改动之后,必须重新启动server才干生效. 有时server在提供服务的时候,直接更改配置,重新启动服务.会带来非常大的危急性. 假设能在改动配置之后,先验 ... 
