国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS中設置圓角的幾種方法示例

2020-07-26 02:54:41
字體:
來源:轉載
供稿:網友

前言

圓角(RounderCorner)是一種很常見的視圖效果,相比于直角,它更加柔和優美,易于接受。但很多人并不清楚如何設置圓角的正確方式和原理。設置圓角會帶來一定的性能損耗,如何提高性能是另一個需要重點討論的話題。我查閱了一些現有的資料,收獲良多的同時也發現了一些誤導人錯誤。

1. 使用layer屬性

layer.backgroundColor = [UIColor cyanColor].CGColor; // 給圖層添加背景色 layer.contents = (id)[UIImage imageNamed:@"view_BG.png"].CGImage; // 給圖層添加背景圖片 layer.cornerRadius = 8; // 將圖層的邊框設置為圓腳 layer.masksToBounds = YES; // 隱藏邊界 layer.borderWidth = 5; // 給圖層添加一個有色邊框 layer.borderColor = [UIColor colorWithRed:0.52 green:0.09 blue:0.07 alpha:1].CGColor; layer.shadowOffset = CGSizeMake(0, 3); // 設置陰影的偏移量 layer.shadowRadius = 10.0; // 設置陰影的半徑 layer.shadowColor = [UIColor blackColor].CGColor; // 設置陰影的顏色為黑色 layer.shadowOpacity = 0.9; // 設置陰影的不透明度

2. 使用繪圖設置圓角

/** 設置圓形圖片(放到分類中使用) */- (UIImage *)cutCircleImage {   UIGraphicsBeginImageContextWithOptions(self.size, NO, 0.0); // 獲取上下文  CGContextRef ctr = UIGraphicsGetCurrentContext(); // 設置圓形   CGRect rect = CGRectMake(0, 0, self.size.width, self.size.height);   CGContextAddEllipseInRect(ctr, rect); // 裁剪   CGContextClip(ctr); // 將圖片畫上去   [self drawInRect:rect];   UIImage *image = UIGraphicsGetImageFromCurrentImageContext();   UIGraphicsEndImageContext();   return image;}

3. 通過另一張mask圖創建新圖

首先需要一張mask圖,然后將這張mask圖和原圖合成,得到帶圓角的新圖。效率和方法一類似,合成新圖等同于在off-screen作圖。該方法的優點是可以不局限于圓角,全憑mask圖控制。

小結

如果要效率(例如要提高table view的滾動幀數),就多用方法二。要方便,自然是方法一。如果需要的特殊形狀UIBezierPath對象無法構成,則考慮方法三。

總結

以上就是這篇文章的全部內容了,希望本文的內容對各位iOS開發者們能帶來一定的幫助,如果有疑問大家可以留言交流。謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平远县| 阿拉善盟| 湖北省| 石城县| 漳州市| 永修县| 扶绥县| 丘北县| 安阳市| 衡山县| 邵阳市| 临桂县| 琼海市| 汉沽区| 游戏| 凤庆县| 松潘县| 德安县| 那曲县| 黑山县| 大理市| 丹东市| 七台河市| 科技| 苏尼特左旗| 大埔县| 自贡市| 武强县| 夹江县| 临沂市| 上高县| 林西县| 洛扎县| 麻城市| 遂昌县| 上栗县| 南城县| 陵水| 皮山县| 平罗县| 搜索|