【发布时间】:2017-01-10 23:13:10
【问题描述】:
【问题讨论】:
-
你忘了问问题!
-
@bub 我只需要像图片一样将两个底角倒圆。
-
使用
UIBezierPath -
只需使用图片即可。
标签: ios objective-c iphone
【问题讨论】:
UIBezierPath
标签: ios objective-c iphone
我刚刚做到了(对于 Swift 3,但它也可能对您有所帮助),您应该为您的图片提供一个出口,例如称为 yourImage,然后在 viewDidLoad 上执行此操作:
let shapeLayer = CAShapeLayer()
shapeLayer.path = UIBezierPath(roundedRect: yourImage.bounds, byRoundingCorners: [.bottomLeft, .bottomRight], cornerRadii: CGSize(width: 30, height: 30)).cgPath
yourImage.layer.mask = shapeLayer
【讨论】:
自从我上次编写 Objective-c 代码以来已经过去了几个月,因为我想再次整理它,这是用 Swift 3.0 编写的 Mago Nicolas Palacios 答案的 Objective-c 版本。
UIImageView *sampleImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"sample"]];
CGSize size = CGSizeMake(30, 30);
UIBezierPath *bezierPath = [UIBezierPath bezierPathWithRoundedRect:sampleImage.bounds
byRoundingCorners:(UIRectCornerBottomRight | UIRectCornerTopLeft)
cornerRadii:size];
CAShapeLayer *shapeLayer = [CAShapeLayer layer];
[shapeLayer setPath:[bezierPath CGPath]];
sampleImage.layer.mask = shapeLayer;
【讨论】: