Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIView阴影,拐角半径不工作_Ios_Swift_Uiview - Fatal编程技术网

Ios UIView阴影,拐角半径不工作

Ios UIView阴影,拐角半径不工作,ios,swift,uiview,Ios,Swift,Uiview,selectorSemiView是一个容器视图 当我运行这个应用程序时,没有阴影和圆角 我的代码有什么问题?您需要添加 @IBOutlet weak var selectorSemiView: UIView! @IBOutlet weak var blurEffect: UIVisualEffectView! @IBOutlet var outerAreaRecognizer: UITapGestureRecognizer! override func viewDidLoad() { s

selectorSemiView是一个容器视图

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

我的代码有什么问题?

您需要添加

@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.clipsToBounds=true时,有圆角但没有阴影,但当我不包括selectorSemiView.clipsToBounds=true时,有阴影但现在有圆角,这是因为阴影应用在边界之外,并且
clipsToBounds
会很好地剪裁掉。您需要通过添加另一个相同大小的视图并在其上添加阴影来伪造此行为。使用此解决方案应用阴影时,为什么“剪裁到边界”不起作用?当我将高度设置为0时,我的高度保持不变,内部内容仍会显示。虽然有可能的答案,但您尚未解释为什么这会起作用。
selectorSemiView.clipsToBounds = true
 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