我只想外形来看改变从广场回合。 正如我尝试用cornerRadious,但它仅仅只有咫尺之遥。 因为我想使整个观为圆形。
Answer 1:
一个UIView总是矩形。 但是,您可以使它看起来圆(或任何形状可言,实际上)带着面具。 为了这样做,使一个UIImage这是一个黑色圆圈(在透明的背景)。 现在采取的UIImage的CGImage,使之成为CALayer的内容。 最后,设置的CALayer作为mask
视图层的。
让我们假设你的看法是100×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;
Answer 2:
你可以让圆角的边框以这种方式与任何控件的边框宽度: -
CALayer * l1 = [viewPopup layer];
[l1 setMasksToBounds:YES];
[l1 setCornerRadius:5.0];
// You can even add a border
[l1 setBorderWidth:5.0];
[l1 setBorderColor:[[UIColor darkGrayColor] CGColor]];
只需更换viewPopup
您控制。
注: -不要忘了导入<QuartzCore/QuartzCore.h>
Answer 3:
试试这个代码: -
[roundView.layer setCornerRadius:50.0f];
[roundView.layer setBorderColor:[UIColor lightGrayColor].CGColor];
[roundView.layer setBorderWidth:1.5f];
[roundView.layer setShadowColor:[UIColor blackColor].CGColor];
[roundView.layer setShadowOpacity:0.8];
[roundView.layer setShadowRadius:3.0];
[roundView.layer setShadowOffset:CGSizeMake(2.0, 2.0)];
注: - roundView是要圆你的看法。
我希望它可以帮助你。 谢谢
文章来源: How to make round shape of any view [closed]