一款带有精美动画的 iOS 下拉菜单。
只需将 IGLDropDownMenu 目录中的文件拖到您的项目中。
创建您的 IGLDropDownItem
数组并设置
NSMutableArray *dropdownItems = [[NSMutableArray alloc] init];
IGLDropDownItem *item = [[IGLDropDownItem alloc] init];
[item setIconImage:[UIImage imageNamed:@"icon.png"]];
[item setText:@"title"];
[dropdownItems addObject:item];
创建您的 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 button
修改 IGLDropDownMenu
的参数
dropDownMenu.type = IGLDropDownMenuTypeStack;
dropDownMenu.gutterY = 5;
dropDownMenu.itemAnimationDelay = 0.1;
dropDownMenu.rotate = IGLDropDownMenuRotateRandom;
调用 reloadView
方法(非常重要!)
// every time you change the params you should call reloadView method
[dropDownMenu reloadView];
这些只是您可以使用的部分参数,您可以在代码中找到更多(或创建更多)。
IGLDropDownMenu
animationDuration
设置动画持续的时间(秒)animationOption
设置动画的 UIViewAnimationOptionsitemAnimationDelay
设置每个项目开始动画前的延迟(秒)
direction
设置菜单展开的方向
IGLDropDownMenuDirectionDown
默认值,向下展开IGLDropDownMenuDirectionUp
向上展开
rotate
设置展开时菜单的旋转样式
IGLDropDownMenuRotateNone
默认值,不旋转IGLDropDownMenuRotateLeft
展开时向左旋转IGLDropDownMenuRotateRight
展开时向右旋转IGLDropDownMenuRotateRandom
每次展开都随机旋转
type
设置菜单类型(记住当您将类型设置为 SlidingIn* 时,不能同时使用旋转类型。)
IGLDropDownMenuTypeNormal
默认值,项目在折叠时将隐藏在菜单按钮后面IGLDropDownMenuTypeStack
项目将隐藏在菜单按钮后面并形成堆叠样式IGLDropDownMenuTypeSlidingInBoth
项目将从两侧滑入/滑出IGLDropDownMenuTypeSlidingInFromLeft
项目将从左侧滑入IGLDropDownMenuTypeSlidingInFromRight
项目将从右侧滑入IGLDropDownMenuTypeFlipVertical
项目将垂直翻转IGLDropDownMenuTypeFlipFromLeft
项目将从左侧翻转IGLDropDownMenuTypeFlipFromRight
项目将从右侧翻转
slidingInOffset
设置项目滑动进入和退出的偏移值
gutterY
设置项目之间的Y轴间距alphaOnFold
设置菜单折叠时项目的透明度值,只有在不满足您的样式时才使用此参数flipWhenToggleView
当您将此设置为true时,点击菜单按钮时菜单按钮将翻转useSpringAnimation
使用适用于iOS7及以上版本的振动动画,默认为truemenuButtonStatic
不论所选菜单项如何,都保持菜单按钮静态,默认为NOIGLDropDownItem
的说明iconImage
设置项目图标图片text
设置项目文本字符串textLabel
便于您调整文本标签样式object
您可以在此属性中存储自定义项目index
项目索引paddingLeft
图像视图或仅文本的左侧内边距showBackgroundShadow
您可以使用此属性隐藏下拉阴影backgroundColor
您可以使用此属性更改背景颜色请记住,在 IGLDropDownMenu
中的 menuButton
也是一个 IGLDropDownItem
。
如果您想自己控制视图,可以使用 IGLDropDownMenu
的 initWithMenuButtonCustomView
和 IGLDropDownItem
的 initWithCustomView
。如果您使用自定义视图,自定义视图将自动设置 userInteractionEnabled = NO
,菜单 menuButtonStatic = YES
,将无效一些样式参数。您需要自行处理。我在演示中创建了一个自定义视图,试试看!
IGLDropDownMenu
的说明- (void)dropDownMenu:(IGLDropDownMenu*)dropDownMenu selectedItemAtIndex:(NSInteger)index;
- (void)dropDownMenu:(IGLDropDownMenu *)dropDownMenu expandingChanged:(BOOL)isExpending;
这个下拉菜单的想法来自 这里,我有一天发现这个示例,并于iOS上实现。
MIT许可证(MIT)
版权所有(c)2014李加林
本软件和相关的文档文件(以下简称“软件”的人),免费获得软件,不受任何限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许将软件提供给其他人以便 آنها进行此类处理,前提是以下条件
上述版权声明和许可声明应包含在软件的所有副本或实质部分中。
软件按“现状”提供,不提供任何形式的保证,无论是明确、暗示还是法定,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何事件中,作者或版权持有人均不对任何索赔、损害或其他责任负责,不管是在合同、侵权或其他行为中,也不管是否由于软件或其使用或其他操作而引起的。