最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

IOS繪制虛線的方法總結(jié)

 更新時(shí)間:2016年09月06日 14:44:58   投稿:daisy  
這篇文章給大家分享了iOS中繪制虛線常見(jiàn)的幾種方式,大家可以根據(jù)自己的需求進(jìn)行選擇哪種方法,下面跟著小編來(lái)一起看看吧。

一、重寫(xiě)drawRect方法。

- (void)drawRect:(CGRect)rect
{
 [super drawRect:rect];
CGContextRef currentContext = UIGraphicsGetCurrentContext();
//設(shè)置虛線顏色
 CGContextSetStrokeColorWithColor(currentContext, [UIColor BlackColor].CGColor);
 //設(shè)置虛線寬度
 CGContextSetLineWidth(currentContext, 1);
 //設(shè)置虛線繪制起點(diǎn)
 CGContextMoveToPoint(currentContext, 0, 0);
 //設(shè)置虛線繪制終點(diǎn)
 CGContextAddLineToPoint(currentContext, self.frame.origin.x + self.frame.size.width, 0);
 //設(shè)置虛線排列的寬度間隔:下面的arr中的數(shù)字表示先繪制3個(gè)點(diǎn)再繪制1個(gè)點(diǎn)
 CGFloat arr[] = {3,1};
 //下面最后一個(gè)參數(shù)“2”代表排列的個(gè)數(shù)。
 CGContextSetLineDash(currentContext, 0, arr, 2);
 CGContextDrawPath(currentContext, kCGPathStroke);
 
}

二、采用CAShapeLayer方式繪制虛線

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];
//設(shè)置虛線顏色
shapeLayer setStrokeColor:[UIColor BlackColor].CGColor];
//設(shè)置虛線寬度
[shapeLayer setLineWidth:self.frame.size.height];
[shapeLayer setLineJoin:kCALineJoinRound];
//設(shè)置虛線的線寬及間距
 [shapeLayer setLineDashPattern:[NSArray arrayWithObjects:[NSNumber numberWithInt:3], [NSNumber numberWithInt:1], nil]];
 //創(chuàng)建虛線繪制路徑
 CGMutablePathRef path = CGPathCreateMutable();
 //設(shè)置虛線繪制路徑起點(diǎn)
 CGPathMoveToPoint(path, NULL, 0, 0);
 //設(shè)置虛線繪制路徑終點(diǎn)
 CGPathAddLineToPoint(path, NULL, self.frame.size.width, 0);
 //設(shè)置虛線繪制路徑
 [shapeLayer setPath:path];
 CGPathRelease(path);
 //添加虛線
 [self.layer addSublayer:shapeLayer];

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

/**
 ** 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)濟(jì)實(shí)惠型:采用貼圖的方式繪制虛線(需要設(shè)計(jì)師切圖配合)

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];

總結(jié)

以上內(nèi)容部分來(lái)自于網(wǎng)絡(luò),本著分享的學(xué)習(xí)精神,如有涉及侵權(quán)問(wèn)題,請(qǐng)及時(shí)告知。以上就是這篇文章的全部?jī)?nèi)容,歡迎大家一起探討學(xué)習(xí),有問(wèn)題請(qǐng)留言,小編將會(huì)盡快對(duì)你的問(wèn)題進(jìn)行回復(fù)。

相關(guān)文章

  • iOS中利用CAEmitterLayer實(shí)現(xiàn)粒子動(dòng)畫(huà)詳解

    iOS中利用CAEmitterLayer實(shí)現(xiàn)粒子動(dòng)畫(huà)詳解

    粒子效果應(yīng)該對(duì)現(xiàn)在很多人來(lái)說(shuō)并不陌生,我們之前也分享了一些相關(guān)文章,下面這篇文章主要給大家介紹了關(guān)于iOS中利用CAEmitterLayer實(shí)現(xiàn)粒子動(dòng)畫(huà)的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友們下面來(lái)一起看看吧。
    2017-06-06
  • iOS開(kāi)發(fā)中UITableview控件的基本使用及性能優(yōu)化方法

    iOS開(kāi)發(fā)中UITableview控件的基本使用及性能優(yōu)化方法

    這篇文章主要介紹了iOS開(kāi)發(fā)中UITableview控件的基本使用及性能優(yōu)化方法,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下
    2015-12-12
  • iOS tableView實(shí)現(xiàn)頭部拉伸并改變導(dǎo)航條漸變色

    iOS tableView實(shí)現(xiàn)頭部拉伸并改變導(dǎo)航條漸變色

    這篇文章主要為大家詳細(xì)介紹了iOS tableView實(shí)現(xiàn)頭部拉伸并改變導(dǎo)航條漸變色,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • iOS統(tǒng)計(jì)項(xiàng)目的代碼總行數(shù)

    iOS統(tǒng)計(jì)項(xiàng)目的代碼總行數(shù)

    最近一個(gè)項(xiàng)目有段時(shí)間了,不知道怎樣可以統(tǒng)計(jì)出寫(xiě)了多少行代碼,如何處理這個(gè)問(wèn)題呢,下面我們來(lái)探討下。
    2015-06-06
  • iOS仿微信圖片分享界面實(shí)現(xiàn)代碼

    iOS仿微信圖片分享界面實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了iOS仿微信相冊(cè)界面翻轉(zhuǎn)過(guò)渡動(dòng)畫(huà)效果,微信采用界面翻轉(zhuǎn)的過(guò)渡動(dòng)畫(huà)跳轉(zhuǎn)到評(píng)論界面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 如何利用iCloud Drive同步Xcode配置詳解

    如何利用iCloud Drive同步Xcode配置詳解

    這篇文章主要給大家介紹了關(guān)于如何利用iCloud Drive同步Xcode配置的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • tableView上面空出20個(gè)像素的解決辦法

    tableView上面空出20個(gè)像素的解決辦法

    在IOS開(kāi)發(fā)中,有時(shí)候會(huì)遇到tableView上面多出來(lái)20個(gè)像素,是什么原因呢?又該如何來(lái)解決他呢,今天我們來(lái)探討下
    2014-09-09
  • iOS 11 BUG的發(fā)現(xiàn)、定位和解決

    iOS 11 BUG的發(fā)現(xiàn)、定位和解決

    這篇文章主要為大家詳細(xì)介紹了iOS 11 BUG的發(fā)現(xiàn)、定位和解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • iOS中讀寫(xiě)鎖的簡(jiǎn)單實(shí)現(xiàn)方法實(shí)例

    iOS中讀寫(xiě)鎖的簡(jiǎn)單實(shí)現(xiàn)方法實(shí)例

    讀寫(xiě)鎖是計(jì)算機(jī)程序的并發(fā)控制的一種同步機(jī)制,也稱(chēng)“共享-互斥鎖”、多讀者-單寫(xiě)者鎖,讀操作可并發(fā)重入,寫(xiě)操作是互斥的,這篇文章主要給大家介紹了關(guān)于iOS中讀寫(xiě)鎖的簡(jiǎn)單實(shí)現(xiàn)方法,需要的朋友可以參考下
    2021-11-11
  • iOS開(kāi)發(fā)中常見(jiàn)的解析XML的類(lèi)庫(kù)以及簡(jiǎn)要安裝方法

    iOS開(kāi)發(fā)中常見(jiàn)的解析XML的類(lèi)庫(kù)以及簡(jiǎn)要安裝方法

    這篇文章主要介紹了iOS開(kāi)發(fā)中常見(jiàn)的解析XML的類(lèi)庫(kù)以及簡(jiǎn)要安裝方法,簡(jiǎn)要地說(shuō)明了在Xcode下的一些特點(diǎn)以供對(duì)比,需要的朋友可以參考下
    2015-10-10

最新評(píng)論

永济市| 贡嘎县| 永吉县| 凤山县| 鸡泽县| 英山县| 上饶市| 玉山县| 杨浦区| 绍兴县| 山阴县| 肃北| 丹东市| 育儿| 旺苍县| 唐河县| 锡林郭勒盟| 大城县| 璧山县| 乌兰察布市| 乌拉特前旗| 霍林郭勒市| 盐池县| 嘉善县| 黔西县| 东城区| 揭阳市| 崇义县| 腾冲县| 龙胜| 凌海市| 鱼台县| 启东市| 吉首市| 皮山县| 阿城市| 如东县| 新巴尔虎左旗| 禄丰县| 东安县| 军事|