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;

之后按照以下步骤操作:

  1. 创建另一个 UIImageView 并将其放在第一个 imageView 之上。

  2. 然后将secondImageView的高度和宽度增加到20。

  3. 设置 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;

请按照以上步骤解决您的问题。

现在你会得到这样的输出: