我在一个单独的Label类中做了一个在drawRect()中调用的函数。但是,这仅在文本后面绘制,而不在标签背景后面绘制。我想在标签背景而不是文本后面有阴影。我怎样才能解决这个问题?在一个单独的View类中,也会发生同样的情况。

let COLOR_SHADOW_COLOR: CGColor = UIColor.gray.cgColor
let COLOR_SHADOW_OFFSET = CGSize(width: 2, height: -2)
let COLOR_SHADOW_RADIUS: CGFloat = 5
let COLOR_SHADOW_OPACITY: Float = 1.0

func setShadow(on object: UIView) {
 object.layer.shadowColor = COLOR_SHADOW_COLOR
 object.layer.shadowOpacity = COLOR_SHADOW_OPACITY
 object.layer.shadowOffset = COLOR_SHADOW_OFFSET
 object.layer.shadowRadius = COLOR_SHADOW_RADIUS
}

最佳答案

解决了我自己的问题。背景与文本的颜色相同,但不透明度较低。 Xcode认为它应该在文本周围绘制。使用相同颜色的移液器后,确实在标签和视图后面形成阴影

关于swift - 阴影不在文字后面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47167163/

10-12 01:49