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

首頁 > 系統 > iOS > 正文

iOS設置圓角的三種方法

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

本文實例為大家分享了iOS設置圓角的三種方式,供大家參考,具體內容如下

第一種方法:通過設置layer的屬性

最簡單的一種,但是很影響性能,一般在正常的開發中使用很少.

UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];//只需要設置layer層的兩個屬性//設置圓角imageView.layer.cornerRadius = imageView.frame.size.width / 2;//將多余的部分切掉imageView.layer.masksToBounds = YES;[self.view addSubview:imageView];

第二種方法:使用貝塞爾曲線UIBezierPath和Core Graphics框架畫出一個圓角

UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)]; imageView.image = [UIImage imageNamed:@"1"]; //開始對imageView進行畫圖 UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, NO, 1.0); //使用貝塞爾曲線畫出一個圓形圖 [[UIBezierPath bezierPathWithRoundedRect:imageView.bounds cornerRadius:imageView.frame.size.width] addClip]; [imageView drawRect:imageView.bounds]; imageView.image = UIGraphicsGetImageFromCurrentImageContext(); //結束畫圖 UIGraphicsEndImageContext(); [self.view addSubview:imageView];

第三種方法:使用CAShapeLayer和UIBezierPath設置圓角

#import "ViewController.h"#import <AVFoundation/AVFoundation.h>@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {    [super viewDidLoad];    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 200, 100)];  imageView.image = [UIImage imageNamed:@"1"];  UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:imageView.bounds byRoundingCorners:UIRectCornerBottomLeft | UIRectCornerTopLeft cornerRadii:CGSizeMake(25, 5)];  CAShapeLayer *maskLayer = [[CAShapeLayer alloc]init];  maskLayer.frame = imageView.bounds;  maskLayer.path = maskPath.CGPath;  imageView.layer.mask = maskLayer;  [self.view addSubview:imageView];}

這三種方法中第三種最好,對內存的消耗最少啊,而且渲染快速。

效果圖:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 芒康县| 师宗县| 尖扎县| 洪湖市| 封丘县| 区。| 元谋县| 湛江市| 沙雅县| 砚山县| 兴隆县| 贵南县| 山东| 临西县| 宁阳县| 定日县| 吴忠市| 科技| 咸阳市| 正安县| 睢宁县| 娄烦县| 玉门市| 南阳市| 宝鸡市| 景泰县| 游戏| 北京市| 扎鲁特旗| 余庆县| 青川县| 安多县| 临夏市| 富源县| 乐都县| 毕节市| 和田市| 苍山县| 汕头市| 正安县| 内江市|