iOS中簡單的畫線功能


最近在iOS開發中,需要使用iOS的畫線功能,畫線的方法可以寫在一個Controller視圖中,當然這不是最好的方式,建議還是自定義一個UIView,并重寫drawRect:方法,這樣后面方便使用,并且不會造成代碼的冗長與啰嗦。

一、新建一個類,繼承自UIView

重寫drawRect:方法:

- (void)drawRect:(CGRect)rect {
     
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetLineCap(context, kCGLineCapRound);
    CGContextSetLineWidth(context, 3);  //線寬
    CGContextSetAllowsAntialiasing(context, true);
    CGContextSetRGBStrokeColor(context, 70.0 / 255.0, 241.0 / 255.0, 241.0 / 255.0, 1.0);  //線的顏色
    CGContextBeginPath(context);
     
    CGContextMoveToPoint(context, 0, 0);  //起點坐標
    CGContextAddLineToPoint(context, self.frame.size.width, self.frame.size.height);   //終點坐標
     
    CGContextStrokePath(context);
}

二、在其他類中調用

- (void)viewDidLoad {
    [super viewDidLoad];
     
    CustomLine *line = [[CustomLine alloc] init];
    line.backgroundColor = [UIColor whiteColor];
    line.frame = self.view.frame;
    [self.view addSubview:line];
}

三、需要注意的問題:

在這里直接運行,就會出現畫的線段,但是我在項目中寫的時候,發現畫線并沒有出現(項目使用的是swift),說明系統沒有自動的調用drawRect:方法,這里就需要我們在Controller視圖中手動的調用[line setNeedsDisplay]; 這句話是手動的讓系統去調用drawRect:方法。

注意:不要試圖手動去調用drawRect:方法,因為這是系統負責調用的。

運行截圖:

運行截圖
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 當們晚上一個人走在繁華城市的街道上,可曾有那么一刻,想起在學校的某個晚上,熄燈前戰友們擠在水房里嬉笑打鬧時的瘋狂?...
    徽常喜歡閱讀 9,113評論 1 3
  • 代悲白頭吟-劉希夷 洛陽城東桃李花,飛來飛去落誰家? 洛陽女兒好顏色,坐見落花長嘆息。 今年花落顏色改,明年花開復...
    走在邊緣閱讀 250評論 1 1
  • 原創2017-04-06木兮溦時光 IJustWannaRunTheDowntownFiction-BestINe...
    溦時光閱讀 118評論 0 0
  • 媽媽,謝謝你愛我! 媽媽,小孩有時候不知道自己是錯的,大人要告訴他! 媽媽,我不聽話的時候你抱抱我親親我,慢慢和我...
    托馬mama閱讀 446評論 0 0