一个无限滚动的菜单,具有重叠单元格动画。菜单可根据单元格数量、它们的图片、屏幕上显示的单元格数量、边框大小等进行自定义。
注意:也提供了一个Android 版本(即将推出)。
您可以选择以下方式之一:
pod 'LIVCordionMenu'
导入所需的头文件
#import <LIVCordionMenu/LIVCordionMenu.h>
//or without pod
#import "LIVCordionMenu.h"
使用图像、标签和边框数组创建 LIVCordionMenu
//Arrays
NSArray* labels = @[@"cell1",@"cell2",@"cell3",@"cell4",@"cell5"];
NSArray* images = [NSArray arrayWithObjects:
[UIImage imageNamed:@"cell1"],
[UIImage imageNamed:@"cell2"],
[UIImage imageNamed:@"cell3"],
[UIImage imageNamed:@"cell4"],
[UIImage imageNamed:@"cell5"],
nil];
//Frame (fill view example)
CGRect screenRect = [[UIScreen mainScreen] bounds];
float x = 0;
float y = 0;
float width = screenRect.size.width;
float height = screenRect.size.height;
CGRect menuFrame = CGRectMake(x, y, width, height);
_accordionMenu = [[LiVAccordion alloc] initMenuWithFrame:menuFrame images:images labels:labels];
_accordionMenu.delegate = self;
//Set optional properties
_accordionMenu.fontColor = [UIColor whiteColor];
_accordionMenu.font = [UIFont fontWithName:@"Helvetica" size:25];
_accordionMenu.cellDisplayFactor = 3;
_accordionMenu.snapSpeed = 4;
//Add the menu to the desired view
[_accordionMenu initInView:self.view];
初始化手风琴菜单
在视图的某个位置
[[LIVCordionMenu alloc] initMenuWithFrame:menuFrame images:images labels:labels];
以下委托可用
//User selected a cell
- (void)livAccordionMenu:(LIVCordion*)accordionMenu didSelectCell:(int)index {
NSLog(@"Tapped Index: %d", index);
}
属性 | 类型 | 描述 | 默认值 |
---|---|---|---|
images | NSArray* | 每个手风琴菜单项的图像名称。 | - |
labels | NSArray* | 每个手风琴菜单项的标签名称。 | - |
cellDisplayFactor | int | 一次在屏幕上显示的单元格数量。 | 3 |
cellFilterAlpha | float | 单元格背景过滤器的 Alpha 值。 | 0.5 |
fontColor | UIColor* | 标签的颜色。 | whiteColor |
font | UIFont | 字体对象,包括字体家族和颜色。 | Helvetica, 25 |
snapSpeed | float | 用户抬起手指时单元格吸附到顶部的速度 | 4 |
isAnimating | BOOL | 标志动画目前是否正在隐藏或显示 | - |
注意:图像/标签的数量应比 cellDisplayFactor 多 2。
ARC
,iOS 8.0+
,Xcode 6+