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的乙個子類,沒有新增任何屬性和方法 列印記憶體位址 ...