边框的背景颜色渗透其中

joh*_*hn 6 iphone xcode ios swift swift3

我将背景颜色设置为白色边框,并且边框渗透到背景中。我希望蓝线消失。您能建议解决这个问题吗?

下面是我的代码。下面有一张我正在谈论的图片。

[边框示例图像

self.imageView.layer.borderColor = UIColor.white.cgColor
self.imageView.layer.borderWidth = 3
self.imageView.backgroundColor = UIColor.blue
self.imageView.layer.cornerRadius = CGFloat(CircleDiameter/2)
Run Code Online (Sandbox Code Playgroud)

Mik*_*Qiu 3

我想这就是iOS渲染对具有正角半径的图层所做的事情,我已经测试过添加一个白色圆形视图与具有相同大小的蓝色圆形视图重叠,出现相同的情况:

\n\n

在此输入图像描述

\n\n

事实上,通过borderWidth Document ,图层的边框是从接收者\xe2\x80\x99s 边界内插入绘制的,因此它与我上面提到的情况相同:

\n\n
\n

当该值大于 0.0 时,图层使用当前的 borderColor 值绘制边框。边框是按照此属性中指定的值从接收器\xe2\x80\x99s 边界内插入绘制的。它在receiver\xe2\x80\x99s 内容和子层之上合成,并包含cornerRadius 属性的效果。

\n
\n\n

所以 iOS 上的边框 + 圆度 = 悲伤,我认为你需要另一种方式来实现你的设计。

\n