貝塞爾曲線收錄 二 cell描三邊

2021-08-08 10:44:15 字數 1593 閱讀 2141

這是自定義乙個cell,cell的背景view是有灰色邊框的,如下:

結果測試妹紙說難看,因為左邊的邊框太礙眼了,需要去掉。這個邊框我是直接設定背景view的view.layer.bordercolor做的,去掉就4個邊都去掉了。然後我想直接把往左移然後把背景view的clipstobounds關閉,但是右上角的tag標籤是乙個旋轉label,背景view的clipstobounds關閉後它又冒出去了。。。

所以最後我決定還是不設定背景view的邊框了,採用在上右下三邊新增view的方式來完成這個需求。

最終還是笑了.gif

但我依稀記得在cell裡新增太多控制項不好,所以果斷拋棄了那個想法。

最終還是決定畫一畫。

結合cashapelayer和貝塞爾曲線來打點描線。

謝謝

貝塞爾曲線是曲線,我卻用它畫直線。。。

然後那個cashapelayer它是calayer的子類,它比calayer多乙個shape,意思就是說它是具有shape屬性的layer,而這個shape需要貝塞爾曲線的配合才能發揮出來。反正我是這樣理解的。

一.首先你得有乙個shapelayer

cashapelayer *borderlayer = [cashapelayer layer];

// 位置大小

borderlayer.frame = bgview.bounds;

// 線寬

borderlayer.linewidth = 1;

// 顏色

borderlayer.strokecolor = [uicolor colorwithhexstring:@"dcdcdc"].cgcolor;

// 不填充

borderlayer.fillcolor = nil;

// 新增到指定layer

[bgview.layer addsublayer:borderlayer];

二.然後你還得有一根曲線

1.建立曲線

// 建立path物件

uibezierpath *borderpath = [uibezierpath bezierpath];

2.打點描線
// 設定path起點

[borderpath movetopoint:(cgpoint)];

// 依次設定轉點

[borderpath addlinetopoint:(cgpoint)];

[borderpath addlinetopoint:(cgpoint)];

[borderpath addlinetopoint:(cgpoint)];

三.最後將shapelayer和曲線完美結合
// 最後將這個path賦值給layer的path

borderlayer.path = borderpath.cgpath;

去掉左邊框後確實更好看了,不得不說,測試妹紙的眼光還可以。

貝塞爾曲線

Python繪製三階貝塞爾曲線

作者本科畢業設計是做機械人軌跡跟蹤控制,軌跡由函式曲線來描述,本文選取三階貝塞爾曲線為代表進行講解,並展示部分基於python tkinter的實現 首先簡單了解一下什麼是貝塞爾曲線 余弦函式曲線我就不多說了哈!貝塞爾曲線又稱貝茲曲線,是法國工程師皮埃爾.貝塞爾於1962年發表。貝塞爾曲線廣泛應用於...

css3 動畫(二)貝塞爾曲線

有過渡效果的屬性 過渡時長 過渡函式?過渡時延 其中,1 2 以及 4 都挺好理解的,但是3是個什麼東西?其實3是 css3 中的 timing function,其中3有兩種型別的值 本篇就總結一下 cubic bezier x1,y1,x2,y2 立方貝塞爾曲線 貝塞爾曲線 bezier cur...

三階貝塞爾曲線公式計算座標

1.valueanimator通過animatorset去play valueanimator valueanimator getbesselanimator tempimageview,rankwidth,rankheight animatorset animatorset new animato...