ios - Tableview Xib 阴影 Swift
问题描述
这是我正在尝试做的事情:
截图来自Iphone:
这是我的代码:
cell.shadowLayerView.layer.masksToBounds = false
cell.shadowLayerView.layer.shadowOffset = CGSize(width: 0, height: 0)
cell.shadowLayerView.layer.shadowColor = UIColor.black.cgColor
cell.shadowLayerView.layer.shadowOpacity = 0.23
cell.shadowLayerView.layer.shadowRadius = 4
cell.shadowLayerView.layer.shadowPath = UIBezierPath(roundedRect: cell.shadowLayerView.bounds, cornerRadius: 2).cgPath
cell.shadowLayerView.layer.shouldRasterize = true
cell.shadowLayerView.layer.rasterizationScale = UIScreen.main.scale
cell.discriptionLbl.frame.size.width = UIScreen.main.bounds.size.width
这是我的tableview xib。在原始图像中显示所有侧面(上,下,左,右)的浅灰色阴影,但在拍摄的图像中显示所有侧面阴影,但为什么在右侧和底部显示额外的阴影。
见下图:
问题:如何像原始图像一样从视图的各个侧面显示相同的阴影(浅灰色阴影)?
有人可以向我解释如何解决这个问题,我已经尝试解决这个问题但还没有结果。
任何帮助将不胜感激。
提前致谢。
解决方案
请参阅以下代码:
mainViewCorner.layer.shadowColor = UIColor.red.cgColor;
mainViewCorner.layer.shadowOffset = CGSize.zero //direction of shadow
mainViewCorner.layer.shadowOpacity = 1.0; // opacity for shadow
mainViewCorner.layer.shadowRadius = 0.0; //amount of shadow to blur
mainViewCorner.layer.cornerRadius = 4.0;
您的代码的问题是shadowOffset
. 它定义了阴影的方向。如果您想要所有侧面的阴影 - 它的宽度和高度都必须为零。
推荐阅读
- javascript - JavaScript 将 'Thu May 06 2021 15:26:32 GMT-0400' 转换为 'MM/DD/YYYY 00:00 AM/PM'
- reactjs - 使用带有 React 配置的 Webpack 的代码无法正确呈现
- javascript - 如何在 React 中使用 props 获取对象的值
- angular - 如何在Angular 8中像Youtube一样显示时间
- symfony - Symfony 应用程序中缺少翻译
- asp.net-core - ASP.NET Core 5 AnchorTagHelper 在剃须刀页面上不起作用
- python-3.x - 在 google-colaboratory 上安装另一个版本的 python 并使用适当的库路径来导入它们
- mongodb - 为什么我在发送网络请求时在 mongodb 上收到“Cast to ObjectId failed for value”错误?
- angular - 如何在角度应用程序中读取 kubernetes 容器环境变量
- c# - 在没有 MVC Razor 页面的 ASP.NET Core 中,如何将用户的个人资料页面(在身份下)导航到一般业务逻辑页面?