星空网 > 软件开发 > 操作系统

iOS长按控件

前言

网上看到一个button的长按控件效果不错,一个菱形从中间向两边增大,研究了下

原理

iOS长按控件images/loading.gif' data-original="http://images2015.cnblogs.com/blog/706432/201512/706432-20151207233653730-1182864607.png" />

上图红色是控件上面放了视图,从上到下分别是view,normalLable,highlightLabel,button

其中View是顺时针旋转了45度

通过点击控件触发里面的按钮的监听事件 

按下没有松手:增大view的高度,改变两个label的透明度

抬起 :缩小view的高度,改变两个label的透明度

后面设置超出父视图不显示就可以把多余的黑色隐藏了,实现了中心向外面扩散

部分代码:

长按监听

 1 - (void)buttonTouchDownAndDragEnter { 2   NSLog(@"长按不松"); 3    4   [self removeShowViewAndLabelLayer]; 5   [UIView animateWithDuration:(self.toEndDuration <= 0 ? TIME_END_DURATION : self.toEndDuration) 6           animations:^{ 7              [self showShowView]; 8           } completion:^(BOOL finished) { 9             if (finished == YES) {10               self.isEND = YES;11              }12            }];13 }

部分方法

- (void)showShowView {  self.showView.bounds = CGRectMake(0, 0, SHOW_VIEW_WIDTH,                   (self.animationWidth <= 0? SHOW_VIEW_WIDTH : self.animationWidth));  self.showView.alpha = 1;    self.normalLabel.alpha  = 0.f;  self.highlightLabel.alpha = 1.f;  }//隐藏showView,改变普通和高亮状态- (void)hiddenShowView {  self.showView.bounds = CGRectMake(0, 0, SHOW_VIEW_WIDTH, 0);  self.showView.alpha = 0;    self.normalLabel.alpha  = 1.f;  self.highlightLabel.alpha = 0.f;  }//移除之前的动画- (void)removeShowViewAndLabelLayer {  self.showView.bounds = ((CALayer *)self.showView.layer.presentationLayer).bounds;  self.showView.alpha = ((CALayer *)self.showView.layer.presentationLayer).opacity;    self.normalLabel.alpha  = ((CALayer *)self.normalLabel.layer.presentationLayer).opacity;  self.highlightLabel.alpha = ((CALayer *)self.highlightLabel.layer.presentationLayer).opacity;    // 移除之前的动画状态  [self.showView.layer removeAllAnimations];}

demo链接:http://pan.baidu.com/s/1eRckm4q

 




原标题:iOS长按控件

关键词:IOS

IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

shopee本土店怎么做,一些运营技巧分享 :https://www.goluckyvip.com/news/6263.html
TikTok直播出海分析!:https://www.goluckyvip.com/news/6264.html
Shopee越南站月访问量同比增长30%,欧美多国联合调查集装箱行业垄断行为! :https://www.goluckyvip.com/news/6265.html
Lazada健康食品热度上升!选对商品快速入局快消品赛道:https://www.goluckyvip.com/news/6266.html
极端天气袭击欧美,部分亚马逊仓库关闭 :https://www.goluckyvip.com/news/6267.html
国际专线物流公司找哪家?:https://www.goluckyvip.com/news/6268.html
丽人丽妆2023年扭亏为盈 玉容初、美壹堂等自有品牌增速超40% :https://www.kjdsnews.com/a/1836576.html
一天拿下10万美金预售!深圳大卖出海第一年成为亚马逊供应商:https://www.kjdsnews.com/a/1836577.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流