博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
太极LOGO
阅读量:6005 次
发布时间:2019-06-20

本文共 2377 字,大约阅读时间需要 7 分钟。

hot3.png

@implementation Taiji{    CGFloat _cx;    CGFloat _cy;    CGFloat _r;    CGFloat _degree;}- (instancetype)initWithFrame:(CGRect)frame{    self = [super initWithFrame:frame];    if (self) {        self.backgroundColor = [UIColor clearColor];        _degree = 30;        _cx = frame.size.width/2;        _cy = frame.size.height/2;        _r = _cx - 3;        [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(timerAction) userInfo:nil repeats:YES];    }    return self;}-(void)timerAction{    _degree++;    [self setNeedsDisplay];}- (void)drawRect:(CGRect)rect {    CGContextRef ctx = UIGraphicsGetCurrentContext();    CGContextSetLineWidth(ctx, 2);    CGContextAddEllipseInRect(ctx, CGRectMake(_cx - _r, _cy - _r, _r * 2, _r * 2));    //画一条直径    CGContextMoveToPoint(ctx,                          _cx + _r * cos(toArc(_degree)),                          _cy - _r * sin(toArc(_degree)));//    CGContextAddLineToPoint(ctx,//                            _cx - _r * cos(toArc(_degree)), //                            _cy + _r * sin(toArc(_degree)));    CGContextStrokePath(ctx);    CGContextMoveToPoint(ctx,                         _cx + _r * cos(toArc(_degree)),                          _cy - _r * sin(toArc(_degree)));    CGContextAddArc(ctx,                     _cx + _r * cos(toArc(_degree))/2,                     _cy - _r * sin(toArc(_degree))/2,                     _r/2,                     toArc(-_degree),                     toArc(-_degree + 180),                     1);    CGContextAddArc(ctx,                     _cx - _r * cos(toArc(_degree))/2,                     _cy + _r * sin(toArc(_degree))/2,                     _r/2,                     toArc(-_degree),                     toArc(-_degree + 180),                     0);    CGContextAddArc(ctx, _cx, _cy, _r, toArc(-_degree + 180), toArc(-_degree), 0);    CGContextAddEllipseInRect(ctx, CGRectMake(_cx + _r * cos(toArc(_degree))/2 - _r/6, _cy - _r * sin(toArc(_degree))/2- _r/6, _r / 3, _r / 3));//    CGContextStrokePath(ctx);    CGContextFillPath(ctx);    CGContextAddEllipseInRect(ctx, CGRectMake(_cx - _r * cos(toArc(_degree))/2 - _r/6, _cy + _r * sin(toArc(_degree))/2- _r/6, _r / 3, _r / 3));    CGContextSetRGBFillColor(ctx, 1, 1, 1, 1);    CGContextFillPath(ctx);}CGFloat toArc(CGFloat degree){    return M_PI/180 * degree;}

转载于:https://my.oschina.net/u/2319073/blog/2254251

你可能感兴趣的文章
安卓学习-SlidingMenu-侧滑菜单
查看>>
登陆验证,密码输错三次,锁定用户
查看>>
word文档(选择题)转换为excl表格
查看>>
设计模式之外观模式
查看>>
JSP编程专题2之JSP核心二(EL表达式,EL运算符以及除了和四个域属性空间相关的EL内置对象)...
查看>>
Oracle专题4之Oracle基本查询
查看>>
ElasticSearch集群搭建
查看>>
C之变量属性(五)
查看>>
逗号操作符重载分析(三十三)
查看>>
初始Nginx
查看>>
线索化二叉树
查看>>
命令模式
查看>>
护航者,腾讯云: 2017年度游戏行业DDoS态势报告—回溯与前瞻
查看>>
测试测试
查看>>
附实例!图解React的生命周期及执行顺序
查看>>
Nginx基础应用
查看>>
java TCP/IP网络通信基本案列
查看>>
关于“invalid input syntax for type boolean”
查看>>
隐私政策
查看>>
selenium系列->Actions命令实例整理->keyPress(Lo,keySeq)
查看>>