iOS-把一个圆环12等分(任意等分)

把一个圆环12等分(任意等分)

 1 //
 2 //  ViewController.m
 3 //  twelve
 4 //
 5 //  Created by yuency on 17/4/2.
 6 //  Copyright ? 2017年 yuency. All rights reserved.
 7 //
 8
 9 #import "ViewController.h"
10
11 #define DEGREES_TO_RADIANS(angle) ((angle) / 180.0 * M_PI)
12
13
14 @interface ViewController ()
15
16 @end
17
18 @implementation ViewController
19
20 - (void)viewDidLoad {
21     [super viewDidLoad];
22
23
24 //12等分, 每个环的角度是 30°, 在这个30°中再分显示的部分和隐藏的部分
25
26 #warning 修改等分数
27     NSInteger equalCount = 12;
28 #warning 有色区域占的比例
29     CGFloat visiableProportion = .9f;
30
31
32     //计算等分的角度
33     CGFloat equalAngle = 360 / equalCount;
34     //计算可见区域的角度
35     CGFloat visiableAngle = equalAngle * visiableProportion;
36     //连接成为一条曲线
37     UIBezierPath *circlePath = [UIBezierPath bezierPath];
38     for (int i = 0; i < 12; i ++) {
39         CGFloat startAngle = (i * equalAngle);
40         CGFloat endAngle = (visiableAngle + i * equalAngle);
41         UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(0, 0) radius:200 / 2.f startAngle:DEGREES_TO_RADIANS(startAngle)  endAngle:DEGREES_TO_RADIANS(endAngle) clockwise:YES];
42         [circlePath appendPath:path];
43     }
44     //创建形状
45     CAShapeLayer *circleLayer = [CAShapeLayer layer];
46     circleLayer.path = circlePath.CGPath;
47     circleLayer.strokeColor   = [UIColor magentaColor].CGColor;
48     circleLayer.fillColor     = [UIColor clearColor].CGColor;
49     circleLayer.lineWidth     = 10.0f;
50     circleLayer.strokeStart   = 0.0f;
51     circleLayer.strokeEnd     = 1.0f;
52     circleLayer.position = self.view.center;
53     [self.view.layer addSublayer:circleLayer];
54
55
56
57     //参考线
58     UIView *vvv = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 400, 1)];
59     vvv.backgroundColor = [UIColor redColor];
60     vvv.center = self.view.center;
61     [self.view addSubview:vvv];
62     UIView *mmm = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 1, 700)];
63     mmm.backgroundColor = [UIColor redColor];
64     mmm.center = self.view.center;
65     [self.view addSubview:mmm];
66 }
67
68
69 @end
时间: 2024-10-26 17:35:42

iOS-把一个圆环12等分(任意等分)的相关文章

iOS圆形图片裁剪,原型图片外面加一个圆环

/** *  在圆形外面加一个圆环 */ - (void)yuanHuan{ //0.加载图片 UIImage *image = [UIImage imageNamed:@"AppIcon1024"]; //图片的宽度 CGFloat imageWH = image.size.width; //设置圆环的宽度 CGFloat border = 1; //大圆形的宽度高度 CGFloat ovalWH = imageWH + 2 * border; //1.开启位图上下文 UIGraph

iOS圆形图片裁剪,以及原型图片外面加一个圆环

废话不多说,直接上代码 #import "ViewController.h" @interface ViewController () @property (nonatomic,strong)UIImageView *imageView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.imageView = [[UIImageView alloc] initWith

iOS开发项目篇—12搜索框的封装

iOS开发项目篇—12搜索框的封装 一.在“发现”导航栏中添加搜索框 1.实现代码 1 #import "YYDiscoverViewController.h" 2 3 @interface YYDiscoverViewController () 4 5 @end 6 7 @implementation YYDiscoverViewController 8 9 - (void)viewDidLoad 10 { 11 [super viewDidLoad]; 12 13 //添加搜索框

上星期IOS的一个面试题。

美丽说面试题 1,IOS是怎样进行内存管理的,什么是ARC. 2,声明Property时,assign,nonatomic,readonly,retain,copy(各什么意思,括号里没打印出来,我猜得) 3,delegate需要retain吗? 4,什么是designated initlalizer?执行[super init]后会发生什么事? 5,isKindOfClass和isMemberOfClass有什么区别? 6,简述UIViewController的生命周期,比较重要的几个方法分别

iOS 5 :一个UIPageViewController程序示例

原文:http://www.techotopia.com/index.php/An_Example_iOS_5_iPhone_UIPageViewController_Application 在Xcode中新建项目时,可以选择“Page-based Application”项目模板.可以利用这个模板创建一种“基于页”的应用程序,在1年的每个月中显示不同的页.奇怪的是,这是Xcode提供的唯一一个基于实例的模板而不是应用程序基本框架.这对于一开始学习时很有用,但除非你真的需要一个用12页来显示1年

iOS 实现一个类似电商购物车界面示例

iOS 实现一个类似电商购物车界面示例 先看界面效果图: 主要实现了商品的展示,并且可以对商品进行多选操作,以及改变商品的购买数量.与此同时,计算出,选中的总价格. 做此类型项目:要注意的:视图与数据要分离开来.视图的展现来源是数据模型层.所以我做的操作就是改变数据层的内容,在根据数据内容,去更新视图界面. 已下是具体实现思路与代码: 1. 实现步骤 在AppDelegate.m中包含ViewController.h头文件,创建ViewController对象(vc),接着创建一个UINavig

CAD技巧-如何在CAD中绘制一个圆环?

CAD技巧,如何在CAD中绘制一个圆环?在日常的工作中,在编辑CAD图纸的时候,我们需要借助CAD编辑器中的许多图形来编辑一张完整的CAD图纸文件,以此来设计出我们满意的图纸,我们会使用到许多的图形比如说多边形.直线.正方,长方形等一些图形,但是我们如何在CAD中绘制一个圆环了?具体要怎么来操作?下面我们就来一起看看吧! 步骤一:首先还是需要打开电脑,然后在电脑桌面上任意的打开一个浏览器,在浏览器的搜索框中搜索迅捷CAD编辑器,鼠标点击进入官网,点击下载安装最新版本的CAD编辑器,下载完成之后,

IOS写一个可以支持全屏的WebView

这样来写布局 一个TitleView作为顶部搜索栏: @implementation TitleView - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { // Initialization code [self initTilte]; } return self; } -(void)initTilte{ UITextField* field = [[UITextField al

IOS的一个带动画的多项选择的控件(二)

然后我们来写:TypeSelectView 这个比较简单,我们只要只要每个TypeView的位置,然后作为自己的subview就好了 @interface TypeSelectView : UIView @property(nonatomic) BOOL bShown; @property(nonatomic, strong) TypeView* curSelectedView; -(id)initWithFrame:(CGRect)frame searchType:(int)type; @en