中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS如何實現圓角箭頭視圖

發布時間:2021-04-16 09:28:16 來源:億速云 閱讀:263 作者:小新 欄目:開發技術

這篇文章主要介紹iOS如何實現圓角箭頭視圖,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

在APP中實現類似聊天內容背景圖時,需要繪制圓角及箭頭。很多人會選擇使用圖片(這也是最省事的一種方法),但是對于在視圖中對內容做約束布局的話,我們無法準確的知道箭頭的偏移量。下面就來介紹一下利用CGContextRef怎樣繪制吧。

先來看看效果圖吧!

iOS如何實現圓角箭頭視圖

代碼實現:

- (void)drawRect:(CGRect)rect {
    float lw = 2; // 邊線寬度
    float aw = 4;// 箭頭寬
    float ah = 5;// 箭頭高
    float r = 3;// 圓角角度
    
    // 需要減去邊線的寬度,為什么不是減去邊線的寬度x2?
    // 因為左邊線和上邊線是往視圖內描繪的,而右邊線和下邊線是往視圖外描繪的。
    float w = self.frame.size.width - lw;// 設置畫線長度
    float h = self.frame.size.height - lw;// 設置畫線寬度
    
    // 獲取上下文
    CGContextRef context = UIGraphicsGetCurrentContext();
    // 設置邊線寬度
    CGContextSetLineWidth(context, lw);
    //邊框顏色
    CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
 
    // 矩形填充顏色
    CGContextSetFillColorWithColor(context, [UIColor whiteColor].CGColor);
 
    CGContextMoveToPoint(context, 0, lw); // 開始坐標左邊開始
    CGContextAddArcToPoint(context, w, lw, w, r, r); // 右上角角度
    CGContextAddArcToPoint(context, w , h, w-r, h, r); // 右下角角度
    CGContextAddArcToPoint(context, aw, h, aw, h-r, r); // 左下角角度
    CGContextAddLineToPoint(context, aw, ah); // 向左上豎線
    CGContextAddLineToPoint(context, 0, lw); // 向左上斜線
    
    CGContextDrawPath(context, kCGPathFillStroke); //根據坐標繪制路徑

    // 父類調用 放在畫完邊線后。不然設置的文字會被覆蓋
    [super drawRect:rect];
}

以上是“iOS如何實現圓角箭頭視圖”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

ios
AI

定兴县| 荆州市| 扎兰屯市| 达拉特旗| 汶上县| 郯城县| 垦利县| 东方市| 辽阳市| 上虞市| 扶余县| 新巴尔虎右旗| 密云县| 哈巴河县| 高密市| 朝阳区| 上犹县| 白玉县| 泰和县| 镇远县| 长治市| 南安市| 无棣县| 吴川市| 普兰县| 阜平县| 陈巴尔虎旗| 荔波县| 馆陶县| 双鸭山市| 商水县| 长丰县| 武冈市| 云和县| 连云港市| 奉贤区| 邯郸市| 雷州市| 屯留县| 伊宁县| 灯塔市|