激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - IOS - IOS繪制虛線的方法總結

IOS繪制虛線的方法總結

2021-01-27 15:28iOS開發(fā)網(wǎng) IOS

這篇文章給大家分享了iOS中繪制虛線常見的幾種方式,大家可以根據(jù)自己的需求進行選擇哪種方法,下面跟著小編來一起看看吧。

一、重寫drawRect方法。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
- (void)drawRect:(CGRect)rect
{
 [super drawRect:rect];
CGContextRef currentContext = UIGraphicsGetCurrentContext();
//設置虛線顏色
 CGContextSetStrokeColorWithColor(currentContext, [UIColor BlackColor].CGColor);
 //設置虛線寬度
 CGContextSetLineWidth(currentContext, 1);
 //設置虛線繪制起點
 CGContextMoveToPoint(currentContext, 0, 0);
 //設置虛線繪制終點
 CGContextAddLineToPoint(currentContext, self.frame.origin.x + self.frame.size.width, 0);
 //設置虛線排列的寬度間隔:下面的arr中的數(shù)字表示先繪制3個點再繪制1個點
 CGFloat arr[] = {3,1};
 //下面最后一個參數(shù)“2”代表排列的個數(shù)。
 CGContextSetLineDash(currentContext, 0, arr, 2);
 CGContextDrawPath(currentContext, kCGPathStroke);
 
}

二、采用CAShapeLayer方式繪制虛線

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
CAShapeLayer *shapeLayer = [CAShapeLayer layer];
[shapeLayer setBounds:self.bounds];
[shapeLayer setPosition:CGPointMake(self.frame.size.width / 2.0, self.frame.size.height)];
[shapeLayer setFillColor:[UIColor clearColor].CGColor];
//設置虛線顏色
shapeLayer setStrokeColor:[UIColor BlackColor].CGColor];
//設置虛線寬度
[shapeLayer setLineWidth:self.frame.size.height];
[shapeLayer setLineJoin:kCALineJoinRound];
//設置虛線的線寬及間距
 [shapeLayer setLineDashPattern:[NSArray arrayWithObjects:[NSNumber numberWithInt:3], [NSNumber numberWithInt:1], nil]];
 //創(chuàng)建虛線繪制路徑
 CGMutablePathRef path = CGPathCreateMutable();
 //設置虛線繪制路徑起點
 CGPathMoveToPoint(path, NULL, 0, 0);
 //設置虛線繪制路徑終點
 CGPathAddLineToPoint(path, NULL, self.frame.size.width, 0);
 //設置虛線繪制路徑
 [shapeLayer setPath:path];
 CGPathRelease(path);
 //添加虛線
 [self.layer addSublayer:shapeLayer];

關于這種方式已經(jīng)有人整理出了一個非常好用的類方法,具體見下面這段代碼,注意:下面非完整代碼,如有需要,請自己百度搜索。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
 ** lineView:  需要繪制成虛線的view
 ** lineLength:  虛線的寬度
 ** lineSpacing: 虛線的間距
 ** lineColor:  虛線的顏色
 **/
 
+ (void)drawDashLine:(UIView *)lineView lineLength:(int)lineLength lineSpacing:(int)lineSpacing lineColor:(UIColor *)lineColor
{
 CAShapeLayer *shapeLayer = [CAShapeLayer layer];
 .....
 [shapeLayer setStrokeColor:lineColor.CGColor];
 ......
 [shapeLayer setLineDashPattern:[NSArray arrayWithObjects:[NSNumber numberWithInt:lineLength], [NSNumber numberWithInt:lineSpacing], nil]];
  ......
 [lineView.layer addSublayer:shapeLayer];
 
}

三、經(jīng)濟實惠型:采用貼圖的方式繪制虛線(需要設計師切圖配合)

?
1
2
3
4
5
UIImageView *imgDashLineView =[[UIImageView alloc] initWithFrame:CGRectMake(15, 200, self.view.frame.size.width - 30, 1)];
 
[imgDashLineView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"xuxian.png"]]];
 
[self.view addSubview:imgDashLineView];

總結

以上內容部分來自于網(wǎng)絡,本著分享的學習精神,如有涉及侵權問題,請及時告知。以上就是這篇文章的全部內容,歡迎大家一起探討學習,有問題請留言,小編將會盡快對你的問題進行回復。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美一级片在线 | 国内一区| www.99热视频| 国产精品自在线拍 | 一本色道久久综合狠狠躁篇适合什么人看 | 欧美成人免费电影 | 国产精选91| 国产精品1区2区在线观看 | 亚洲福利在线观看视频 | 亚洲操比视频 | 国产一区二区视频网站 | 一级毛片电影院 | 成人做爽爽爽爽免费国产软件 | 欧美一级aa免费毛片 | 国产午夜三级一区二区三桃花影视 | 国产精品久久久久久久久久 | 欧美一区二区三区久久精品视 | 欧美又黄又嫩大片a级 | 久草在线新时代视觉 | 午夜在线成人 | 免看黄大片aa | 欧美国产日韩在线观看成人 | 91久久久久久久久久 | 一级啪啪片 | 久久精品伊人网 | 久久久久久久久久久久久久久伊免 | 欧美人的天堂一区二区三区 | 成人18在线 | 毛片在线免费视频 | 草操影院 | 一级α片免费看刺激高潮视频 | 国产韩国精品一区二区三区久久 | 91久久线看在观草草青青 | 久久精品日产高清版的功能介绍 | 极品一级片 | 91精品国产91久久久久久丝袜 | 娇喘在线| 大学生a级毛片免费视频 | 成品片a免费直接观看 | www国产网站 | 欧美另类69xxxxx 视频 |