码迷,mamicode.com
首页 > 移动开发 > 详细

IOS 如何实现画虚线

时间:2015-08-17 17:23:01      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:虚线   ios   objective-c   uiview   

因为项目需要画虚线,起初想用图片重复叠加实现。搜罗了一圈还是封装一个UIView

代码如下

.h文件
#import <UIKit/UIKit.h>

@interface DashesLineView : UIView

@property(nonatomic)CGPoint startPoint;//虚线起点

@property(nonatomic)CGPoint endPoint;//虚线终点

@property(nonatomic,strong)UIColor* lineColor;//虚线颜色

@end

.m文件

#import "DashesLineView.h"

#define kInterval 10                                // 全局间距

@implementation DashesLineView

- (id)initWithFrame:(CGRect)frame
{
    self= [super initWithFrame:frame];
    if(self) {
        _lineColor = [UIColor redColor];
        _startPoint = CGPointMake(0, 1);
        _endPoint = CGPointMake(screen_width , 1);
        
        
    }
    return self;
}

- (void)drawRect:(CGRect)rect {
    
    CGContextRef context = UIGraphicsGetCurrentContext();
    
    CGContextBeginPath(context);
    
    CGContextSetLineWidth(context,0.5);//线宽度
    
    CGContextSetStrokeColorWithColor(context,self.lineColor.CGColor);
    
    CGFloat lengths[] = {4,2};//先画4个点再画2个点
    
    CGContextSetLineDash(context,0, lengths,2);//注意2(count)的值等于lengths数组的长度
    
    CGContextMoveToPoint(context,self.startPoint.x,self.startPoint.y);
    
    CGContextAddLineToPoint(context,self.endPoint.x,self.endPoint.y);
    
    CGContextStrokePath(context);
    
    CGContextClosePath(context);
    
}


@end


版权声明:本文为博主原创文章,未经博主允许不得转载。

IOS 如何实现画虚线

标签:虚线   ios   objective-c   uiview   

原文地址:http://blog.csdn.net/zh198964/article/details/47727053

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!