2017-04-23 77 views
1
@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不工作

當我運行這個程序,沒有陰影,沒有圓角。

我的代碼有什麼問題?

回答

3

你的代碼是好的,但你忘了設置不透明度,如果您需要了解更多信息,你可以得到另一個答案在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 

輸出

enter image description here

+1

當我包括selectorSemiView.clipsToBounds = true,有圓角但沒有陰影,但是當我不包括selectorSemiView.clipsToBounds =真 ,有陰影,但現在圓角 –

+1

這是因爲陰影應用**外**邊界和「clipsToBounds」很好地剪輯出來。您需要添加相同大小的其他視圖並添加陰影來僞造此行爲。 – Rikh

0

你需要添加

selectorSemiView.clipsToBounds = true 
+1

儘管可能的答案,你還沒有解釋爲什麼這將工作。 – dfd