zoukankan      html  css  js  c++  java
  • 使用CAShapeLayer做出圆形的进度条 —— #DF!

    CircleView.h的内容如下:
    
    #import <UIKit/UIKit.h>
    
    @interface CircleView : UIView
    
    @property (nonatomic, assign) CGFloat  startValue; 
    @property (nonatomic, assign) CGFloat  lineWidth;
    @property (nonatomic, strong) UIColor *lineColor;
    @property (nonatomic, assign) CGFloat  value;
    
    @end
    
    
    ===================
    
    
    CircleView.m的内容如下:
    
    #import "CircleView.h"
    
    @interface CircleView ()
    
    @property (nonatomic, strong) CAShapeLayer *shapeLayer;
    
    @end
    
    @implementation CircleView
    
    - (instancetype)initWithFrame:(CGRect)frame {
        self = [super initWithFrame:frame];
        if (self) {
            _shapeLayer       = [CAShapeLayer layer];
            _shapeLayer.frame = self.bounds;
            
            UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:self.bounds];
            
            _shapeLayer.path = path.CGPath;
            
            _shapeLayer.fillColor   = [UIColor clearColor].CGColor;
            _shapeLayer.lineWidth   = 1.f;
            _shapeLayer.strokeColor = [UIColor redColor].CGColor;
            _shapeLayer.strokeEnd   = 0.f;
            
            [self.layer addSublayer:_shapeLayer];
        }
        return self;
    }
    
    @synthesize startValue = _startValue;
    - (void)setStartValue:(CGFloat)startValue {
        _startValue           = startValue;
        _shapeLayer.strokeEnd = startValue;
    }
    - (CGFloat)startValue {
        return _startValue;
    }
    
    @synthesize lineWidth = _lineWidth;
    - (void)setLineWidth:(CGFloat)lineWidth {
        _lineWidth            = lineWidth;
        _shapeLayer.lineWidth = lineWidth;
    }
    - (CGFloat)lineWidth {
        return _lineWidth;
    }
    
    @synthesize lineColor = _lineColor;
    - (void)setLineColor:(UIColor *)lineColor {
        _lineColor              = lineColor;
        _shapeLayer.strokeColor = lineColor.CGColor;
    }
    - (UIColor *)lineColor {
        return _lineColor;
    }
    
    @synthesize value = _value;
    - (void)setValue:(CGFloat)value {
        _value                = value;
        _shapeLayer.strokeEnd = value;
    }
    - (CGFloat)value {
        return _value;
    }
    
    @end
    

      

  • 相关阅读:
    acm python
    html cheatsheet
    unix cheatsheet
    liunx dd 读取系统文件
    比较文件内容是否相同
    linunx siege 安装
    数据库备份并压缩
    innobackupex xtrabackup 备份恢复mysql数据
    ubuntu安装rally
    解决Ubuntu显示中文乱码的问题
  • 原文地址:https://www.cnblogs.com/sixindev/p/4834343.html
Copyright © 2011-2022 走看看