前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AwesomeMenu,仿Path主菜单效果

AwesomeMenu,仿Path主菜单效果

作者头像
ios122
发布2018-01-02 17:48:08
6040
发布2018-01-02 17:48:08
举报

实例下载: 最新源代码点击下载

用法简介:

通过创建菜单各个单元项来创建菜单:

代码语言:javascript
复制
UIImage *storyMenuItemImage = [UIImage imageNamed:@"bg-menuitem.png"];
UIImage *storyMenuItemImagePressed = [UIImage imageNamed:@"bg-menuitem-highlighted.png"];
UIImage *starImage = [UIImage imageNamed:@"icon-star.png"];
AwesomeMenuItem *starMenuItem1 = [[AwesomeMenuItem alloc] initWithImage:storyMenuItemImage
                                                           highlightedImage:storyMenuItemImagePressed
                                                               ContentImage:starImage
                                                    highlightedContentImage:nil];
AwesomeMenuItem *starMenuItem2 = [[AwesomeMenuItem alloc] initWithImage:storyMenuItemImage
                                                           highlightedImage:storyMenuItemImagePressed
                                                               ContentImage:starImage
                                                    highlightedContentImage:nil];
// "开始"单元格,类似于 Path 的"添加"按钮.
AwesomeMenuItem *startItem = [[AwesomeMenuItem alloc] initWithImage:[UIImage imageNamed:@"bg-addbutton.png"]
                                                   highlightedImage:[UIImage imageNamed:@"bg-addbutton-highlighted.png"]
                                                       ContentImage:[UIImage imageNamed:@"icon-plus.png"]
                                            highlightedContentImage:[UIImage imageNamed:@"icon-plus-highlighted.png"]];

然后,初始化菜单和选项:

代码语言:javascript
复制
AwesomeMenu *menu = [[AwesomeMenu alloc] initWithFrame:self.window.bounds startItem:startItem optionMenus:[NSArray arrayWithObjects:starMenuItem1, starMenuItem2]];
menu.delegate = self;
[self.window addSubview:menu];

你也可以使用使用菜单的各个属性,自定义:

重新确定”添加”按钮的位置:

代码语言:javascript
复制
menu.startPoint = CGPointMake(160.0, 240.0);

设置旋转角度:

代码语言:javascript
复制
menu.rotateAngle = 0.0;

设置整个菜单的按钮角度:

代码语言:javascript
复制
menu.menuWholeAngle = M_PI * 2;

设置每个菜单项之间动画延迟执行的时间间隔:

代码语言:javascript
复制
menu.timeOffset = 0.036f;

适应弹动动画:

代码语言:javascript
复制
menu.farRadius = 140.0f;
menu.nearRadius = 110.0f;

设置”添加菜单”与其他菜单单元格之间的距离:

代码语言:javascript
复制
menu.endRadius = 120.0f;
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-08-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档