UIView影子,cornerradius不工作

Jun*_*Lee 4 uiview ios swift

@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

}
Run Code Online (Sandbox Code Playgroud)

selectorSemiView是一个容器视图

当我运行这个应用程序时,没有阴影,也没有圆角.

我的代码有什么问题?

Anb*_*hik 6

你的代码很好,但你忘了设置不透明度,如果你需要更多信息,你可以在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
Run Code Online (Sandbox Code Playgroud)

产量

在此输入图像描述

  • 当我包含selectorSemiView.clipsToBounds = true时,有圆角但没有阴影,但是当我不包括selectorSemiView.clipsToBounds = true时,有阴影但现在是圆角 (3认同)
  • 多数民众赞成,因为阴影被施加**在**边界和`clipsToBounds`之外.您需要通过添加另一个相同大小的视图并在其上添加阴影来伪造此行为. (2认同)