基于CMuneBar完成的两侧展开动画
rqrf7853
8年前
<p>原文提供了很多种效果,如扇形展开菜单,单侧展开菜单等效果,都是基于贝塞尔曲线来做的,我今天要说的效果和demo里面的其中一种效果是类似的,不解释,看图:</p> <p>demo里面的效果图:</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/aa542335f35e256c77582a3dd7361b23.gif"></p> <p style="text-align:center">演示.gif</p> <p>我要实现的效果是gif图片中的第5中效果和第6中效果叠加到一起的效果,也就是两边都要展开,点击中间的菜单按钮如图:</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/f6e05e2682592bd6933355faea8545b1.gif"></p> <p style="text-align:center">2016-07-22 15_37_17.gif</p> <p>我在原文的基础上加了一个旋转的动画,具体你可以看下代码,效果还是不错的,我的实现思路是添加两个菜单按钮,分别添加第5和第6种效果,代码如下:</p> <pre> <code class="language-objectivec">CMuneBar *muneBar = [[CMuneBar alloc] initWithItems:@[@"camera",@"draw"] size:CGSizeMake(50, 50) type:kMuneBarTypeLineLeft]; muneBar.firstDelegate = self; muneBar.center = self.view.center; [self.view addSubview:muneBar]; self.muneBar = muneBar; CMuneBar *secondMuneBar = [[CMuneBar alloc] initWithItems:@[@"gallery",@"dropbox"] size:CGSizeMake(50, 50) type:kMuneBarTypeLineRight]; secondMuneBar.delegate = self; secondMuneBar.center = self.view.center; [self.view addSubview:secondMuneBar]; self.secondMuneBar = secondMuneBar;</code></pre> <pre> <code class="language-objectivec">/** * 右边item点击代理事件 * * @param index 索引 */ -(void)muneBarselected:(NSInteger)index{ NSLog(@"%@",@(index)); } - (void)muneBarShow { [self.muneBar showItems]; NSLog(@"展开"); } - (void)muneBarHide { NSLog(@"显示"); } /** * 左边item点击代理事件 * * @param index 索引 */- (void)firstMuneBarselected:(NSInteger)index { NSLog(@"%@",@(index)); }</code></pre> <p> </p> <p> </p> <p>来自:http://www.jianshu.com/p/41d27463c3ef</p> <p> </p>