基于CMuneBar完成的两侧展开动画

rqrf7853 7年前
   <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>