使用圆角将阴影添加到UIView-Swift-以编程方式

问题描述

我有一个底部圆角的UIView,用于实现此目的的代码是:

view.addSubview(topWhiteView)
topWhiteView.anchor(top: self.view.safeAreaLayoutGuide.topAnchor,leading: view.leadingAnchor,bottom: nil,trailing: view.trailingAnchor,size: .init(width: 0,height: 80))
topWhiteView.layer.cornerRadius = 50
topWhiteView.layer.maskedCorners = [.layerMinXMaxYCorner,.layerMaxXMaxYCorner]
topWhiteView.setupShadow(opacity: 0.3,radius: 5,offset: .init(width: 0,height: 10),color: .darkGray)

问题是当我添加阴影时

open func setupShadow(opacity: Float = 0,radius: CGFloat = 0,offset: CGSize = .zero,color: UIColor = .black) {
    layer.shadowOpacity = opacity
    layer.shadowRadius = radius
    layer.shadowOffset = offset
    layer.shadowColor = color.cgColor
}

添加了阴影,但是由于在此视图下方,我有一个collectionView当在其下方滚动时可以达到此效果

enter image description here

我相信发生这种情况是因为我遮盖了角落,并且视图实际上并未圆滑。 有没有一种方法可以有效地绕过拐角并在其上添加阴影?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...