衆所周知,在storyboard的右邊屬性欄上沒有shadow屬性,因此通常狀況下須要動態建立陰影,也就是用代碼生成。bash
在視頻教程中也講過,用代碼建立某個東西(好比某個view)的屬性時,直接用view.xxx=xxx就行,若是view點後面沒有代碼提示,則此屬性通常在view的layer中。 shadow屬性就是這種狀況。ide
view.layer.shadowOpacity = 0.5//默認0--徹底透明
view.layer.shadowColor = UIColor.black.cgColor //默認黑色。這裏也能夠用Color Literal雙擊選顏色
view.layer.shadowRadius = 10 //默認是3
view.layer.shadowOffset = CGSize(width: 0.0, height: -3.0)//默認是(0.0, -3.0)
view.layer.shadowPath = UIBezierPath(rect: view.bounds).cgPath//默認nil,系統自動配置
複製代碼
除了shadowOpacity以外,其他屬性都有看得見的默認值。spa
下面簡單說一下各個屬性的做用:code
陰影透明度,取值0-1,1是徹底不透明。視頻
陰影顏色,CGColor類型,不贅述。htm
陰影寬度,也就是陰影的大小,單位是point。教程
陰影離view的距離(偏移量),CGSize類型,分x軸和y軸偏移,主要用來營造3D效果。ci
陰影形狀。若是不設這項,系統會自動根據view的大小和位置描繪view的陰影,這樣須要消耗很是多的資源,因此必定要指定一下(通常是這個view的bounds)。 資源