我有一个视图,我在程序中应用阴影。但不幸的是,这个阴影出现在这个特定视图的所有子视图中。任何原因。
cellView.layer.shadowColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.25).cgColor
cellView.layer.shadowOffset = CGSize(width: 0, height: 2)
cellView.layer.shadowOpacity = 1.0
cellView.layer.shadowRadius = 0.0
cellView.layer.masksToBounds = false
cellView.layer.cornerRadius = 4.0
timeLabel = UILabel(frame: CGRect(x: 10, y: 5, width: 50, height: self.bounds.size.height - 30))
timeLabel.font = AmeyoConstants.smallerFont
timeLabel.textColor = UIColor.darkGray
cellView.addSubview(timeLabel)
我只在cellView上应用了阴影,但在运行应用程序时,阴影也自动出现在timeLabel上。任何人都可以让我知道从父母到孩子的观点继承阴影的正当理由。
答案 0 :(得分:3)
对于有阴影的视图,它必须具有不透明的背景颜色,我们无法从您的代码段中看到,但您是否将背景颜色设置为cellView
?
如果没有,那么阴影将不会应用于视图本身,而是应用于其子视图!
如果您考虑一下,透明纸张没有阴影(因为它当然是透明的),但是如果您在其上添加不透明物体,那么这些物体将会有阴影。
现在,如果您希望工作表具有阴影,那么您可以放置不透明的工作表吗?在这种情况下,相同的规则适用于iOS!