IOS 如何实现画虚线 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

   

因为项目需要画虚线,起初想用图片重复叠加实现,

IOS 如何实现画虚线

。搜罗了一圈还是封装一个UIView

代码如下

    .h文件

#import<uikit uikit.h="">@interface DashesLineView : UIView@property(nonatomic)CGPoint startPoint;//虚线起点@property(nonatomic)CGPoint endPoint;//虚线终点@property(nonatomic,strong)UIColor* lineColor;//虚线颜色@end</uikit>

    .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

最新文章