【发布时间】:2017-10-17 19:26:52
【问题描述】:
我在 UIView 中添加了阴影,但得到以下结果:
代码如下:
mainView.layer.cornerRadius = 8
mainView.layer.shadowColor = UIColor.black.cgColor
mainView.layer.shadowOpacity = 0.2
mainView.layer.shadowRadius = 10
mainView.clipsToBounds = false
mainView.backgroundColor = UIColor.blue
mainView.layer.shadowPath = UIBezierPath(roundedRect: mainView.frame, cornerRadius: 8).cgPath
鉴于我给 shadowPath 提供了与蓝色视图 (mainView) 完全相同的帧,我不明白为什么阴影会如此偏移。我知道我可以使用 shadowOffset 属性解决此问题,但我尝试使用 shadowPath 的全部原因是不使用 shadowOffset,因为它可能存在一些大规模的性能问题。
更新:将 mainView.frame 修复为 mainView.bounds 后,阴影已适当对齐。但是,mainView 顶部的阴影似乎仍然略微偏移(上方阴影更强):
【问题讨论】:
-
尝试将 mainView.frame 更改为 mainView.bounds