日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ios UIImageView 部分圆角(加上 borderWidth、borderColor 效果修复)

發布時間:2023/12/18 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ios UIImageView 部分圆角(加上 borderWidth、borderColor 效果修复) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

關于 UIImageView 部分圓角 先扔代碼吧,具體的我這里就不講了。(本文重點不在這里)

/*** 設置部分圓角(絕對布局)** @param corners 需要設置為圓角的角 UIRectCornerTopLeft | UIRectCornerTopRight | UIRectCornerBottomLeft | UIRectCornerBottomRight | UIRectCornerAllCorners* @param radii 需要設置的圓角大小 例如 CGSizeMake(20.0f, 20.0f)*/ - (void)addRoundedCorners:(UIRectCorner)corners withRadii:(CGSize)radii {CAShapeLayer* shape = [CAShapeLayer layer];shape.path = [UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:corners cornerRadii:radii].CGPath;self.layer.mask = shape; }

但是問題來了如果我們加上 borderWidth、borderColor會是什么樣子呢?(代碼、效果圖如下)

UIImageView *imageView = [[UIImageView alloc] init];imageView.layer.borderColor = [UIColor redColor].CGColor;imageView.layer.borderWidth = 2;imageView.frame = CGRectMake(100, 200, 80, 80);[self.view addSubview:imageView];[imageView addRoundedCorners:UIRectCornerTopLeft | UIRectCornerTopRight withRadii:CGSizeMake(20, 20)];


可以看到效果圖邊框效果真的差,如果交付會被打死的。
那怎么處理呢,先上代碼吧。

UIImageView *imageView = [[UIImageView alloc] init];imageView.frame = CGRectMake(100, 200, 80, 80);[self.view addSubview:imageView];[imageView addRoundedCorners:UIRectCornerTopLeft | UIRectCornerTopRight withRadii:CGSizeMake(20, 20)];CAShapeLayer* shape = [CAShapeLayer layer];shape.path = ((CAShapeLayer *)imageView.layer.mask).path;//path 取- (void)addRoundedCorners:(UIRectCorner)corners withRadii:(CGSize)radii 函數中的 pathshape.strokeColor = [UIColor redColor].CGColor;//邊框色shape.lineWidth = 2*2;//2*邊框寬度shape.fillColor = [UIColor clearColor].CGColor;//填充色[imageView.layer addSublayer:shape];//addSublayer[imageView sd_setImageWithURL:[NSURL URLWithString:@"https://images2.bestjlb.com/jlboss7370d8b2315203cfd4fdff617fd6013215427879667496070.jpg"]];

效果圖

這個效果應該可以交付了吧,如果有什么疑問大家考慮下圖層應該就明白了。

總結

以上是生活随笔為你收集整理的ios UIImageView 部分圆角(加上 borderWidth、borderColor 效果修复)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。