CALayer 上的边框显示不正确
Border on CALayer appears incorrect
我有一个 CALayer,它是一个圆形图像,我正在尝试为其添加外部边框。 (阴影在这里对我不起作用)。我已经尝试调整 CALAyer 的大小并添加边框,但定位似乎不正确,我不希望形状移动,只是要添加边框。
这是我的代码
CGFloat borderWidth = 10.0f;
CGFloat xPos = cont.layer.frame.origin.x;
CGFloat yPos = cont.layer.frame.origin.y;
CGFloat contWidth = cont.layer.frame.size.width;
CGFloat contHeight = cont.layer.frame.size.width;
cont.layer.frame = CGRectMake(xPos, yPos, contWidth + borderWidth, contHeight + borderWidth);
cont.layer.cornerRadius = contWidth / 2;
cont.layer.borderColor = [[UIColor darkGrayColor] CGColor];
cont.layer.borderWidth = borderWidth;
提前致谢
您的代码是正确的。
请添加一行:
cont.clipsToBounds=是
self.imgView1.layer.cornerRadius =self.imgView1.frame.size.width / 2;
self.imgView1.layer.borderColor = [[UIColor blueColor] CGColor];
self.imgView1.layer.borderWidth = 0.0f;
self.imgView1.layer.masksToBounds=TRUE;
之后按照以下步骤操作:
创建另一个 UIImageView 并将其放在第一个 imageView 之上。
然后将secondImageView的高度和宽度增加到20。
设置 secondImageView 中心和 FirstImageCenter 相等(在同一点)。
并编写以下代码:
self.imgView2.layer.cornerRadius=self.imgView2.frame.size.width / 2;
self.imgView2.layer.borderColor = [[UIColor blueColor] CGColor];
self.imgView2.layer.borderWidth = 10.0f;
self.imgView2.layer.masksToBounds=TRUE;
请按照以上步骤解决您的问题。
现在你会得到这样的输出:
我有一个 CALayer,它是一个圆形图像,我正在尝试为其添加外部边框。 (阴影在这里对我不起作用)。我已经尝试调整 CALAyer 的大小并添加边框,但定位似乎不正确,我不希望形状移动,只是要添加边框。
这是我的代码
CGFloat borderWidth = 10.0f;
CGFloat xPos = cont.layer.frame.origin.x;
CGFloat yPos = cont.layer.frame.origin.y;
CGFloat contWidth = cont.layer.frame.size.width;
CGFloat contHeight = cont.layer.frame.size.width;
cont.layer.frame = CGRectMake(xPos, yPos, contWidth + borderWidth, contHeight + borderWidth);
cont.layer.cornerRadius = contWidth / 2;
cont.layer.borderColor = [[UIColor darkGrayColor] CGColor];
cont.layer.borderWidth = borderWidth;
提前致谢
cont.clipsToBounds=是
self.imgView1.layer.cornerRadius =self.imgView1.frame.size.width / 2;
self.imgView1.layer.borderColor = [[UIColor blueColor] CGColor];
self.imgView1.layer.borderWidth = 0.0f;
self.imgView1.layer.masksToBounds=TRUE;
之后按照以下步骤操作:
创建另一个 UIImageView 并将其放在第一个 imageView 之上。
然后将secondImageView的高度和宽度增加到20。
设置 secondImageView 中心和 FirstImageCenter 相等(在同一点)。
并编写以下代码:
self.imgView2.layer.cornerRadius=self.imgView2.frame.size.width / 2;
self.imgView2.layer.borderColor = [[UIColor blueColor] CGColor];
self.imgView2.layer.borderWidth = 10.0f;
self.imgView2.layer.masksToBounds=TRUE;
请按照以上步骤解决您的问题。
现在你会得到这样的输出: