iOS UIView新增鋸齒和波浪線的邊

2021-07-04 23:52:46 字數 1774 閱讀 2543

1,ios 為uiview 新增鋸齒邊

主要是算好鋸齒的點在view上的位置,然後進行填充就好了,**如下:

uibezierpath *path = [uibezierpath bezierpath];

path.linewidth = borderwidth;

nsinteger x = 0;

nsinteger y = (borderposition == kborderpositiontop) ? borderwidth : cgrectgetheight(self

.frame) - borderwidth;

[path movetopoint:cgpointmake(x, y)];

nsuinteger verticaldisplacement = self

.jaggededgeverticalvertexdistance ?: defaultjaggededgeverticalvertexdistance;

nsuinteger horizontaldisplacement = self

.jaggededgehorizontalvertexdistance ?: defaultjaggededgehorizontalvertexdistance;

verticaldisplacement *= (borderposition == kborderpositiontop) ? +1 : -1;

bool shouldmoveup = yes;

while (x <= cgrectgetwidth(self

.frame))

else

[path addlinetopoint:cgpointmake(x, y)];

}else

if (type == kcurvebordertypecurve)

else

[path addquadcurvetopoint:cgpointmake(x, y+verticaldisplacement) controlpoint:cgpointmake(x-horizontaldisplacement/2.0, newy)];

}shouldmoveup = !shouldmoveup;

}cgfloat offset = 2 * borderwidth;

x = cgrectgetwidth(self

.frame) + offset;

y = (borderposition == kborderpositiontop) ? -offset : cgrectgetheight(self

.frame) + offset;

[path addlinetopoint:cgpointmake(x,y)];

x = -offset;

[path addlinetopoint:cgpointmake(x, y)];

[strokecolor setstroke];

[self drawbezierpath:path];

這裡最主要的是要判斷給那條邊新增鋸齒,每條邊點的位置計算會有所不同。

2,ios 為uiview 新增波浪線邊

這個和鋸齒邊的區別是新增點的方式不同和計算點的位置不一樣,

[path addquadcurvetopoint:cgpointmake(x, y+verticaldisplacement) controlpoint:cgpointmake(x-horizontaldisplacement/2.0, newy)]

;

iOS UIView屬性動畫和常用方法

一 動畫的屬性是指當屬性從乙個值變為另乙個值的時候,可以半自動的支援動畫。1.uiview物件中支援動畫的屬性有 frame 改變檢視的尺寸和位置 bounds 改變檢視的尺寸 center 改變檢視的位置 transform 使用這個可以翻轉或者縮放試圖 alpha 使用這個可以改變檢視的透明度 ...

解決DC DC輸出為三角鋸齒波問題

使用mps的mp2565晶元,電源輸入 24v,輸出12v 1a,根據手冊上推薦的走線和引數進行pcb投板,焊接回來後上電聽到明顯電感線圈的 滋滋 雜訊,用示波器交流模式測量輸出電壓,是個三角鋸齒波,峰峰值有2v左右,明顯達不到設計要求。電路原理圖如下 檢視該波形感覺是dc dc有自激嫌疑。用示波器...

談談iOS UIView 隱藏和建立的記憶體消

專案中經常有很多的view需要建立和替換。而且view之間也是經常切換。那麼你是選擇把不用的view removefromsuperview 還是選擇sethidden呢?看 先建立5個uiview colorcubeview 只是繼承uiview的乙個子類,沒有新增任何屬性和方法 列印記憶體位址 ...