IOS 如何?畫虛線
因為項目需要畫虛線,起初想用圖片重複疊加實現。搜羅了一圈還是封裝一個UIView代碼如下
.h檔案
#import @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