這個label頂部的兩個角是圓角,底部的兩個角是直角,底部還有乙個小三角。
思路cashapelayer聯合uibezierpath畫乙個不規則的layer作為label.layer的mask。
具體實現
1.自定義乙個繼承自uilabel的irregularlabel
import "irregularlabel.h"
@inte***ce irregularlabel (
)/** 遮罩 */
@property
(nonatomic, strong) cashapelayer *masklayer;
/** 路徑 */
@property
(nonatomic, strong) uibezierpath *borderpath;
@end
2.在初始化方法中進行相應初始化和設定
-
(instancetype)initwithframe:
(cgrect)frame
return
self
;}
3.在layoutsubviews方法中進行路徑的設定
-
(void
)layoutsubviews
左上角的座標是(0,0)
右下角的座標是(maxx,maxy)
圓角是用的二次貝塞爾曲線,關於二次貝塞爾曲線,我在網上看到一張比較形象的圖:
最終效果
-
(void
)viewdidload
效果圖
demo位址
iOS開發 自定義列表
tableview幾乎是ios裡面最常用的布局了,這裡用純 的方式實現了自定義列表cell的介面 自定義cell cardlist created by yxhe on 16 5 17.end customcellview.m cardlist created by yxhe on 16 5 17....
iOS基礎開發 自定義控制項
自定義控制項,設定子控制項的尺寸和位置 當系統提供的控制項滿足不了我們的需求,我們可以自定義乙個控制項,繼承系統自帶的控制項,寫乙個屬於自己的控制項.自定義控制項的好處是可以把封裝控制項內部的細節,不容易被外界隨意修改.如果乙個view內部的子控制項比較多,一般會考慮自定義乙個view,把它內部子控...
iOS開發 自定義併發NSOperation實戰
前一章節已經介紹了如何自定義併發nsoperation,本節將其應用到具體例項,如果自定義併發nsoperation不會,請移步 在zccurrentoperation.h檔案中 如下 zccurrentoperation.h 自定義非併發nsoperation created by mrzhao ...