【发布时间】:2018-02-19 12:26:36
【问题描述】:
这是来自 iphone 的屏幕截图,这里的阴影非常好,但是当我在 ipad 上运行应用程序时,它变成了这样..
现在这是我希望它像 ipad 上的第一张图片一样的问题..
我正在使用此代码来投影
extension UIView {
// OUTPUT 1
func dropShadow(scale: Bool = true) {
layer.masksToBounds = false
layer.shadowColor = UIColor.black.cgColor
layer.shadowOpacity = 0.5
layer.shadowOffset = CGSize(width: -1, height: 1)
layer.shadowRadius = 1
layer.shadowPath = UIBezierPath(rect: bounds).cgPath
layer.shouldRasterize = true
layer.rasterizationScale = scale ? UIScreen.main.scale : 1
}
// OUTPUT 2
func dropShadow(color: UIColor, opacity: Float = 0.5, offSet: CGSize, radius: CGFloat = 1, scale: Bool = true) {
layer.masksToBounds = false
layer.shadowColor = color.cgColor
layer.shadowOpacity = opacity
layer.shadowOffset = offSet
layer.shadowRadius = radius
layer.shadowPath = UIBezierPath(rect: self.bounds).cgPath
layer.shouldRasterize = true
layer.rasterizationScale = scale ? UIScreen.main.scale : 1
}
}
使用这条线在任何视图上投射阴影
shadowView.dropShadow(color: .black, opacity: 0.7, offSet: CGSize(width: -1, height: 1), radius: 5, scale: true)
有人知道问题出在哪里吗??
提前感谢:)
【问题讨论】:
-
你能用阴影显示视图的框架
-
没有给框架..我用户自动布局。视图位于 tableviews 单元格中,从单元格的内容视图中具有前导 = 8、traling = 8、顶部 = 8 和底部 = 8
-
你有没有尝试将你的代码移动到 did layoutsubviews 中?(不要忘记调用 super.didlayoutsubviews() )
-
@roozbehmo 不,我没试过
-
你在哪里运行 shadowView.dropShadow
标签: ios swift uitableview uiview