ios 畫線平滑 iOS中簡單的畫線功能

2021-10-16 16:28:18 字數 1226 閱讀 2878

最近在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:方法,因為這是系統負責呼叫的。

執行截圖:

iOS中NSFileManager的簡單用法

import int main int argc,const char argv if fm isdeletablefileatpath 獲取某一檔案的屬性 nsstring filepath users huihui desktop 1.png nsdictionary dict fm attri...

ios 繪製線框 iOS中畫矩形的幾種方法總結

方法1 pragma mark 畫矩形方法1 void drawrect1 1取得圖形上下文 cgcontextref ctx uigraphicsgetcurrentcontext 2畫一條線段 設定乙個起點 cgcontextmovetopoint ctx,20,20 cgcontextaddl...

ios中如何畫1畫素的直線

ios中在對cell的處理過程中經常要去掉tableview自帶的分割線,自己換一條線。那麼如何畫1畫素的直線呢?解決辦法 uiview view uiview alloc initwithframe cgrectmake 0,66,320,0.5 線的位置,根據具體的ui確定,但是高度一定是0.5...