UIView的阴影,cornerradius不工作
问题描述:
@IBOutlet weak var selectorSemiView: UIView!
@IBOutlet weak var blurEffect: UIVisualEffectView!
@IBOutlet var outerAreaRecognizer: UITapGestureRecognizer!
override func viewDidLoad() {
super.viewDidLoad()
selectorSemiView.layer.cornerRadius = 15
selectorSemiView.layer.shadowColor = UIColor.gray.cgColor
selectorSemiView.layer.shadowOffset = CGSize.zero
selectorSemiView.layer.shadowRadius = 7
}
selectorSemiView是一个容器视图UIView的阴影,cornerradius不工作
当我运行这个程序,没有阴影,没有圆角。
我的代码有什么问题?
答
你的代码是好的,但你忘了设置不透明度,如果您需要了解更多信息,你可以得到另一个答案在SO,对于如
selectorSemiView.layer.cornerRadius = 15
selectorSemiView.layer.shadowColor = UIColor.gray.cgColor
selectorSemiView.layer.shadowOffset = CGSize.zero
selectorSemiView.layer.shadowOpacity = 1.0
selectorSemiView.layer.shadowRadius = 7.0
selectorSemiView.layer.masksToBounds = false
输出
当我包括selectorSemiView.clipsToBounds = true,有圆角但没有阴影,但是当我不包括selectorSemiView.clipsToBounds =真 ,有阴影,但现在圆角 –
这是因为阴影应用**外**边界和“clipsToBounds”很好地剪辑出来。您需要添加相同大小的其他视图并添加阴影来伪造此行为。 – Rikh