CALayer上的边框显示不正确

时间:2015-04-15 08:46:10

标签: ios objective-c xcode border calayer

我有一个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;

提前致谢

1 个答案:

答案 0 :(得分:0)

enter image description here您的代码是正确的。 请添加一行:

cont.clipsToBounds = YES

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 center和FirstImageCenter相等(在同一点)。

  4. 并编写以下代码:

    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;

    请执行上述步骤,以解决您的问题。

    现在你将获得如下输出:

    enter image description here