文档章节

绘制六角形

T_Four
 T_Four
发布于 2016/03/04 11:51
字数 105
阅读 16
收藏 0
-(instancetype)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        self.backgroundColor = [UIColor clearColor];
        self.transform = CGAffineTransformMakeRotation(M_PI / 6);
    }
    return self;
}

-(void)drawRect:(CGRect)rect{
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    CGContextSetStrokeColorWithColor(ctx, [UIColor clearColor].CGColor);
    CGContextSetFillColorWithColor(ctx, [UIColor orangeColor].CGColor);
    CGContextSetLineWidth(ctx, 1.5);
    
    CGRect theRect = rect;
    
    CGPoint _centerPoint = CGPointMake(theRect.size.width / 2 + theRect.origin.x, theRect.size.height / 2 + theRect.origin.y);
    CGFloat _r = MIN(theRect.size.width / 2, theRect.size.height / 2);
    CGFloat radPerV = M_PI * 2 / 6;
    for (NSInteger i = 0; i <= 6; i++)
    {
        if (i == 0) {
            CGContextMoveToPoint(ctx, _centerPoint.x, _centerPoint.y - _r);
        }else{
            CGContextAddLineToPoint(ctx, _centerPoint.x - _r * sin(i * radPerV), _centerPoint.y - _r * cos(i * radPerV));
        }
    }
    CGContextDrawPath(ctx, kCGPathFillStroke);
}

© 著作权归作者所有

T_Four
粉丝 0
博文 5
码字总数 1031
作品 0
朝阳
私信 提问
[译] SwiftUI 官方教程 (五)

完整中文教程及代码请查看 https://github.com/WillieWangWei/SwiftUI-Tutorials 绘制 Path 和 Shape 用户访问列表中的地标时应当获得徽章,为此,我们需要创建徽章。在本文中,我们将通过组...

Willie_
06/08
0
0
Python3 欧拉计划 问题41-45

问题36—40参见:https://www.jianshu.com/p/e455bf4ccfc9 41、全数字的素数 如果一个n位数恰好使用了1至n每个数字各一次,我们就称其为全数字的。例如,2143就是一个4位全数字数,同时它恰好...

AiFan
2018/01/02
0
0
征信系统维度讨论

雇员方:雇员完成工作时,需要对雇主进行评价,需要从哪些评论项,评论是选项评论还是开放式评论? 雇主方:结束工作后对雇员的评价,评论项的讨论 雇员雇主征信信息展示:征信六角形是其中一...

bnuz_owen
2015/09/20
14
3
开源益智游戏Hex-a-hop

Hex-a-hop是一款开源的益智解密游戏,支持Windows和Linux平台。 玩家操作的角色站在六角形瓦片, 通过移动可以把瓦片移除,最终目的是将所有的绿色瓦片从水平面上消除。由于瓦片在移动后会消失...

marsdream
2018/07/11
0
0
2D游戏开发工具--Ethanon Engine

Ethanon Engine 是一個集中在顯示卡的硬體加速和渲染效果的免費2D遊戲開發工具。 它可用於開發任何風格的遊戲,如由上而下第三人稱視角的RPG,橫向卷軸的射擊遊戲。這個遊戲引擎的主要目標是...

匿名
2012/03/11
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

容器服务Windows Kubernetes使用阿里云日志服务来收集容器日志

目前,容器服务Windows Kubernetes支持将业务容器产生的stdout输出、日志文件同步到阿里云日志服务(SLS)进行统一管理。 支撑组件安装 在Windows Kubernetes集群安装界面勾选使用日志服务,...

阿里云云栖社区
32分钟前
0
0
sql查询问题收集

sql的使用容易犯的错误 1、ISNULL使用 在多表关联时,最好只使用到最外层,不然会出现 空值。 sql的使用规范: 1,尽量避免大事务操作,慎用holdlock字句,提高系统并发能力。 2,尽量避免反...

轻轻的走过
52分钟前
4
0
抓包工具整理

tcpdump 常用与linux服务器 wireshark pc端抓包利器 Fiddler web抓包

以谁为师
今天
3
0
彻底理解startActivity的启动过程这一篇就够了

基于Android 6.0的源码剖析, 分析android Activity启动流程,相关源码: frameworks/base/services/core/java/com/android/server/am/ - ActivityManagerService.java - ActivityStackSuper......

天王盖地虎626
今天
8
0
git 删除远程提交记录

不小心把密码提交到github怎么办? 1.切换到新的分支 git checkout --orphan latest_branch 缓存所有文件(除了.gitignore中声名排除的) git add -A 提交跟踪过的文件(Commit th...

18y
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部