如果我将带有alpha的UIColor设置为UIView及其边框,则颜色不匹配。奇怪的是,边框获得了一个alpha值(它不是完全黑色的),但它并不匹配视图的背景。
示例
代码:
let color = UIColor(white: 0, alpha: 0.3)
let view = UIView(frame: .zero)
view.backgroundColor = color
view.layer.borderWidth = 5
view.layer.borderColor = color.cgColor
结果:
2条答案
按热度按时间aelbi1ox1#
如果你想要独立的“内部”和“外部”颜色,有各种方法可以实现。
最直接的方法可能是创建一个自定义的
UIView
子类,并添加一个“内部”UIView
作为子视图。基本视图将包含
backgroundColor = .clear
、layer.borderWidth
和layer.borderColor
。“内部”视图将插入
borderWidth
。blmhpbnm2#
您的问题是,当您为UIView的背景和边框设置相同的半透明UIColor时,生成的颜色在视觉上不匹配。边框与背景的显示方式不同,即使两者使用相同的颜色值。虽然添加与背景相同颜色的边框是无用的。