[翻译] IGLDropDownMenu
IGLDropDownMenu
An iOS drop down menu with pretty animation.
一种iOS点击下拉菜单样式,动画效果很绚丽。
Screenshot - 截图
How To Use - 如何使用
!Try the demo. It's really helpful! 试试demo,看看效果哦!
Sample Code - 示例源码
Create your
IGLDropDownItem
array and set up 创建IGLDropDownItem数组然后进行设置NSMutableArray *dropdownItems = [[NSMutableArray alloc] init];
IGLDropDownItem *item = [[IGLDropDownItem alloc] init];
[item setIconImage:[UIImage imageNamed:@"icon.png"]];
[item setText:@"title"];
[dropdownItems addObject:item];Create your
IGLDropDownMenu
and set the up the parameter namedropDownItems 创建你的IGLDropDownMenu,设置dropDownItems的名字
IGLDropDownMenu *dropDownMenu = [[IGLDropDownMenu alloc] init];
[dropDownMenu setFrame:CGRectMake(0, 0, 200, 45)];
dropDownMenu.menuText = @"Choose Weather";
dropDownMenu.menuIconImage = [UIImage imageNamed:@"chooserIcon.png"]];
dropDownMenu.paddingLeft = 15; // padding left for the content of the buttonmodify the params of
IGLDropDownMenu 修改IGLDropDownMenu的参数
dropDownMenu.type = IGLDropDownMenuTypeStack;
dropDownMenu.gutterY = 5;
dropDownMenu.itemAnimationDelay = 0.1;
dropDownMenu.rotate = IGLDropDownMenuRotateRandom;Call the
reloadView
method (Very Important!) 执行reloadView(非常重要!)// every time you change the params you should call reloadView method
[dropDownMenu reloadView];
Parameters - 参数
These are just some of the parameters you can use, you can find more(or make more) in the code.
你可以使用很多很多的参数,详情请参考源码吧。
For IGLDropDownMenu
animationDuration
set the duration(s) of the animation in second 设置动画时间animationOption
set the UIViewAnimationOptions for the animation 设置动画样式itemAnimationDelay
set the delay(s) before each of item start to animate 设置每个item的延时动画时间direction
set the direction when the menu expand 设置菜单展开的方向IGLDropDownMenuDirectionDown
default value, expand downwardIGLDropDownMenuDirectionUp
expand upward
rotate
set the rotate style when the menu on expand 设置菜单展开时候的旋转风格IGLDropDownMenuRotateNone
default value, for no rotateIGLDropDownMenuRotateLeft
rotate to left on expandIGLDropDownMenuRotateRight
rotate to right on expandIGLDropDownMenuRotateRandom
rotate random on expand every single time
type
set the menu type (remember when you set the type to SlidingIn* you can't have the rotate type at the same time.) 设置菜单样式IGLDropDownMenuTypeNormal
default value, item will hide behind the menu button on foldIGLDropDownMenuTypeStack
item will hide behind the menu button and make a stack like lookIGLDropDownMenuTypeSlidingInBoth
item will slide in and out from both sidesIGLDropDownMenuTypeSlidingInFromLeft
item will slide in from leftIGLDropDownMenuTypeSlidingInFromRight
item will slide in from right
slidingInOffset
set the offset value for the items slide in and out 设置item滑进来时候的偏移量gutterY
set the Y gutter between items 设置item之间的间隔alphaOnFold
set the item alpha value when menu on fold, only use this when the style won't fit your mind 菜单层叠时候的透明度flipWhenToggleView
when you set this to true, the menu button will flip up when you click 当你设置这个值为true,这个按钮会向上翻useSpringAnimation
use the spring animation for iOS7 or higher version, default is true 使用spring动画效果,默认开启
For IGLDropDownItem
iconImage
set the icon image for the item 设置item的图片text
set the text string for the item 设置texttextLabel
for you to adjust the text label style 方便你设置调整Label样式object
you can store your custom item in this preporty 你可以用它来存储你的自定义item
Remember the menuButton
in IGLDropDownMenu
is also an IGLDropDownItem
.
请记住,在IGLDropDownMenu中,menuButton也是IGLDropDownItem。
Requirements - 需要
- target platform: >=iOS 6.0 (I never test the version below 6.0, maybe you can make some try and tell me.) >iOS6.0
- ARC ARC
TODO - 以后要做的事情
- make
IGLDropDownItem
more customizable 让IGLDropDownItem可定制程度更高 add the spring animation for iOS 7 or higher version- add more animation effect for the menu 更多的动画效果
- just contact me and tell me more 联系我,给我建议帮我改进
Thanks - 感谢
This drop-down menu idea is come from here, I found this demo one day and just implement it on iOS.
这个菜单的主意来自于 here,我发现了这个demo后,然后在iOS上实现了。
[翻译] IGLDropDownMenu的更多相关文章
- 《Django By Example》第五章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者@ucag注:大家好,我是新来的翻译, ...
- 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...
- [翻译]开发文档:android Bitmap的高效使用
内容概述 本文内容来自开发文档"Traning > Displaying Bitmaps Efficiently",包括大尺寸Bitmap的高效加载,图片的异步加载和数据缓存 ...
- 【探索】机器指令翻译成 JavaScript
前言 前些时候研究脚本混淆时,打算先学一些「程序流程」相关的概念.为了不因太枯燥而放弃,决定想一个有趣的案例,可以边探索边学. 于是想了一个话题:尝试将机器指令 1:1 翻译 成 JavaScript ...
- 《Django By Example》第三章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:第三章滚烫出炉,大家请不要吐槽文中 ...
- 《Django By Example》第二章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:翻译完第一章后,发现翻译第二章的速 ...
- 《Django By Example》第一章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:本人目前在杭州某家互联网公司工作, ...
- 【翻译】Awesome R资源大全中文版来了,全球最火的R工具包一网打尽,超过300+工具,还在等什么?
0.前言 虽然很早就知道R被微软收购,也很早知道R在统计分析处理方面很强大,开始一直没有行动过...直到 直到12月初在微软技术大会,看到我软的工程师演示R的使用,我就震惊了,然后最近在网上到处了解和 ...
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第一章:创建基本的MVC Web站点
在这一章中,我们将学习如何使用基架快速搭建和运行一个简单的Microsoft ASP.NET MVC Web站点.在我们马上投入学习和编码之前,我们首先了解一些有关ASP.NET MVC和Entity ...
随机推荐
- ListenableFuture in Guava
ListenableFuture的说明 并发编程是一个难题,但是一个强大而简单的抽象可以显著的简化并发的编写.出于这样的考虑,Guava 定义了 ListenableFuture接口并继承了JDK c ...
- Ubuntu双网卡不双待攻略
特别不喜欢基于Windows的工作环境,这对一个Unix/Linux程序员来说,可以说是一种信仰.要不是电子邮件客户端被牢牢绑定在可恶的Outlook 2013上(因为加密邮件要求, 想使用Thund ...
- FOCUS数据管理:数据字典与多维模型
这是我从工厂出来的第五个年头,也是我第一次主动写年终总结: 回想这一年来一点成就都没有,想想都有点后怕:而且每天还是干着同样的事情,容易被新手代替,由于我比较厌烦每天重复的干同样的活,所以我开始思考是 ...
- CUBA-Platform将全面助力中国开发者
关注CUBA的伙伴们,你们好! 今天我们有新的进展告诉大家. 九月十五日到十六日CUBA平台事业部负责人(同时也是Haulmont公司合伙人)专程来到中国与CUBA中国团队进行了两天时间的交流.讨论. ...
- 转换json和字符串的一些方法
将字符串转换成json对象的方法: var str = '{"name1":"value1","name2":"value2&qu ...
- C# 字符串处理—— 去除首位保留其他
//去除首位 public static string RemoveFirstPlace(string s) { ) //输入空值直接Return { ")) //判断开头是否是零 s = ...
- wpf 窗口最小化后,触发某事件弹出最小化窗口并置顶
//如果窗口最小化了弹出并置顶----事件触发调用 ShowWindowAsync(new System.Windows.Interop.WindowInteropHelper(CommonHelpe ...
- google Chrome打开多个网站时等待可用的套接字,怎么加大连接数量提升速度
这是因为Chrome对同一个域名的sockets连接数作了限制,或者你访问的网站经常被墙的原因.打开Chrome的Sockets:chrome://net-internals/#sockets 点击里 ...
- 01 使用JavaScript原生控制div属性
写在前面: 因对前端开发感兴趣,于是自学前端技术,现在已经会HTML.CSS.JavaScript基础技术.但水平处于小白阶段,在网上找一些小项目练练手,促进自己的技术成长.文章记录自己的所思所想,以 ...
- Java实现进程调度算法(二) RR(时间片轮转)
一.概述 因为这次os作业对用户在控制台的输入输出有要求,所以我花了挺多的代码来完善控制台的显示. 也因为我这次要实现多个类似算法,所以将一些共性单独提取出来作为一个类. 如果只想要和算法有关的核心代 ...