你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS 如何實現畫虛線

IOS 如何實現畫虛線

編輯: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


 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved