ios - 如何防止两个堆叠的 UIView 的阴影加倍并变厚?[迅速]
问题描述
我有两张直接堆叠在一起的卡片(UIViews)。两张卡片都使用以下样式应用了阴影:
static func styleCardView(_ cardStyle: UIView) {
cardStyle.layer.shadowOpacity = 1
cardStyle.layer.shadowOffset = CGSize(width: 0, height: 1.75)
cardStyle.layer.shadowRadius = 1.7
cardStyle.layer.shadowColor = UIColor.lightGray.cgColor
cardStyle.layer.cornerRadius = 12
}
在我将最上面的卡片拖离屏幕 (UIPanGesture) 后,卡片设置会重置,因此它们再次堆叠在中心,如下面的 gif 所示:
当顶卡移动和重置到中心时,我试图消除阴影厚度的任何变化。
问题是起始点的阴影(两张牌堆叠)太厚,因为两张牌的阴影都堆叠在彼此的顶部。然后当顶部卡片从屏幕上移开时,只有底部卡片的阴影可见。但是,当顶卡重置到中间时,阴影粗细发生变化,卡的重置很明显。
有没有办法设置可见的最大阴影厚度或防止阴影堆叠?
解决方案
推荐阅读
- javascript - 正则表达式匹配不输出相邻匹配的javascript
- java - 为什么从 ViewModel 进行调用时,Retrofit enqueue 不起作用?
- android - 应用程序适用于 android 7 和 8,但不适用于 android 5 和 6
- react-native - 无法从“node_modules/react-native-router-flux/dist/Router.js”解析“mobx-react/native”
- python-3.x - 尽管子文件夹已添加到搜索路径,但未找到子文件夹中的模块
- android - 房间数据库,inMemoryDatabaseBuilder和databaseBuilder有什么区别?
- c++ - 同名函数的C++编译错误
- variables - Visual Studio Code Snippet Variable Transform not working
- python - h2o 中跨行的方差
- angular - Angular Material2 菜单内的滑动切换