<分区>
我只想将 View 的形状从方形更改为圆形。当我尝试使用 cornerRadious 时,但它只是在拐角处。因为我想把整个 View 做成圆形。
<分区>
我只想将 View 的形状从方形更改为圆形。当我尝试使用 cornerRadious 时,但它只是在拐角处。因为我想把整个 View 做成圆形。
最佳答案
UIView 始终是矩形的。但是,您可以使用 mask 使它看起来是圆形的(或者实际上是任何形状)。为此,制作一个黑色圆圈的 UIImage(在透明背景中)。现在获取该 UIImage 的 CGImage 并将其作为 CALayer 的内容。最后,将该 CALayer 设置为 View 层的 mask
。
让我们假设您的 View 是 100 x 100。然后(未测试,但应该非常正确):
UIGraphicsBeginImageContextWithOptions(CGSizeMake(100,100), NO, 0);
CGContextRef c = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(c, [UIColor blackColor].CGColor);
CGContextFillEllipseInRect(c, CGRectMake(0,0,100,100));
UIImage* maskim = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
CALayer* mask = [CALayer new];
mask.frame = CGRectMake(0,0,100,100);
mask.contents = (id)maskim.CGImage;
view.layer.mask = mask;
关于iphone - 如何制作任何 View 的圆形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16475728/