边框有背景颜色渗透[重复]
Posted
技术标签:
【中文标题】边框有背景颜色渗透[重复]【英文标题】:Border has background color seeping through it [duplicate] 【发布时间】:2017-05-19 23:36:17 【问题描述】:我将背景颜色设置为白色边框,并且边框从背景中渗出。我希望蓝线消失。你能建议解决这个问题吗?
下面是我的代码。下面是我所说的图像。
[
self.imageView.layer.borderColor = UIColor.white.cgColor
self.imageView.layer.borderWidth = 3
self.imageView.backgroundColor = UIColor.blue
self.imageView.layer.cornerRadius = CGFloat(CircleDiameter/2)
【问题讨论】:
你设置self.imageView.layer.masksToBounds = true
了吗?
另外,你能描述一下你想要什么吗?你想让蓝线更粗还是消失?
我希望蓝线消失
将其屏蔽到边界也不起作用
下面有没有其他的看法?当您将背景颜色设置为其他颜色时,它会消失吗?或者当你将背景设置为绿色时线条是绿色的?
【参考方案1】:
我猜这是ios渲染对具有正cornerRadius的图层所做的,我已经测试添加一个白色圆圈视图重叠一个具有相同大小的蓝色圆圈视图,出现相同的情况:
其实,通过borderWidth Document,layer的边框是从receiver的bounds开始inset绘制的,所以和我上面说的情况是一样的:
当该值大于 0.0 时,图层使用当前的borderColor 值绘制边框。 边框是从接收者的边界按此属性中指定的值绘制的。它复合在接收器的内容和子层之上,并包含cornerRadius 属性的效果。
所以边框 + 圆度 = iOS 上的悲伤,我认为你需要另一种方式来实现你的设计。
【讨论】:
以上是关于边框有背景颜色渗透[重复]的主要内容,如果未能解决你的问题,请参考以下文章
为什么我会以这种背景颜色(rgb(204,204,204)无重复滚动0%0%/自动填充框边框框)格式?
如何在出错时将edittext边框颜色更改为红色? [重复]