IGLDropDownMenu 1.6.2

IGLDropDownMenu 1.6.2

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最新发布2016年9月

Galvin Li 维护。



  • By
  • Galvin Li

一款带有精美动画的 iOS 下拉菜单。

截图

如何使用

手动安装

只需将 IGLDropDownMenu 目录中的文件拖到您的项目中。

!尝试演示。这真的很有帮助!

示例代码

  1. 创建您的 IGLDropDownItem 数组并设置

    NSMutableArray *dropdownItems = [[NSMutableArray alloc] init];
    IGLDropDownItem *item = [[IGLDropDownItem alloc] init];
    [item setIconImage:[UIImage imageNamed:@"icon.png"]];
    [item setText:@"title"];
    [dropdownItems addObject:item];
  2. 创建您的 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
  3. 修改 IGLDropDownMenu 的参数

    dropDownMenu.type = IGLDropDownMenuTypeStack;
    dropDownMenu.gutterY = 5;
    dropDownMenu.itemAnimationDelay = 0.1;
    dropDownMenu.rotate = IGLDropDownMenuRotateRandom;
  4. 调用 reloadView 方法(非常重要!)

    // every time you change the params you should call reloadView method
    [dropDownMenu reloadView];

参数

这些只是您可以使用的部分参数,您可以在代码中找到更多(或创建更多)。

对于 IGLDropDownMenu

  • animationDuration 设置动画持续的时间(秒)
  • animationOption 设置动画的 UIViewAnimationOptions
  • itemAnimationDelay 设置每个项目开始动画前的延迟(秒)

  • 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及以上版本的振动动画,默认为true
  • menuButtonStatic 不论所选菜单项如何,都保持菜单按钮静态,默认为NO

IGLDropDownItem 的说明

  • iconImage 设置项目图标图片
  • text 设置项目文本字符串
  • textLabel 便于您调整文本标签样式
  • object 您可以在此属性中存储自定义项目
  • index 项目索引
  • paddingLeft 图像视图或仅文本的左侧内边距
  • showBackgroundShadow 您可以使用此属性隐藏下拉阴影
  • backgroundColor 您可以使用此属性更改背景颜色

请记住,在 IGLDropDownMenu 中的 menuButton 也是一个 IGLDropDownItem

自定义视图

如果您想自己控制视图,可以使用 IGLDropDownMenuinitWithMenuButtonCustomViewIGLDropDownIteminitWithCustomView。如果您使用自定义视图,自定义视图将自动设置 userInteractionEnabled = NO,菜单 menuButtonStatic = YES,将无效一些样式参数。您需要自行处理。我在演示中创建了一个自定义视图,试试看!

委托

对于 IGLDropDownMenu 的说明

  • - (void)dropDownMenu:(IGLDropDownMenu*)dropDownMenu selectedItemAtIndex:(NSInteger)index;
  • - (void)dropDownMenu:(IGLDropDownMenu *)dropDownMenu expandingChanged:(BOOL)isExpending;

要求

  • 目标平台:>=iOS 6.0(我从未测试过6.0以下的版本,也许你可以试验一下并告诉我。)
  • ARC

感谢

这个下拉菜单的想法来自 这里,我有一天发现这个示例,并于iOS上实现。

许可证

MIT许可证(MIT)

版权所有(c)2014李加林

本软件和相关的文档文件(以下简称“软件”的人),免费获得软件,不受任何限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许将软件提供给其他人以便 آنها进行此类处理,前提是以下条件

上述版权声明和许可声明应包含在软件的所有副本或实质部分中。

软件按“现状”提供,不提供任何形式的保证,无论是明确、暗示还是法定,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何事件中,作者或版权持有人均不对任何索赔、损害或其他责任负责,不管是在合同、侵权或其他行为中,也不管是否由于软件或其使用或其他操作而引起的。