iOS开发知识小集

iOS一个音量大小动态改变的控件

2019-02-22  本文已影响4人  Zz7777777

案例演示

图一.gif

实现机制

图二.png

实现代码

-(void)refreshUIWithVoicePower : (NSInteger)voicePower{
 CGFloat height = (voicePower)*(CGRectGetHeight(self.frame)/10);
    //每次进来清掉上一次的layer
    [_indicateLayer removeFromSuperlayer];
    _indicateLayer = nil;
    
    UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, CGRectGetHeight(self.frame)-height, CGRectGetWidth(self.frame), height) cornerRadius:0];
    
    CAShapeLayer *indicateLayer = [CAShapeLayer layer];
    indicateLayer.path = path.CGPath;
    indicateLayer.fillColor = [UIColor grayColor].CGColor;
    [self.layer addSublayer:indicateLayer];
    _indicateLayer = indicateLayer;
}

实现的简单效果

图三.gif

请看demo

上一篇 下一篇

猜你喜欢

热点阅读