iOS12-Swift5-Xcode10-如何動態的(用代碼)給view添加陰影shadow

衆所周知,在storyboard的右邊屬性欄上沒有shadow屬性,因此通常狀況下須要動態建立陰影,也就是用代碼生成。bash

在視頻教程中也講過,用代碼建立某個東西(好比某個view)的屬性時,直接用view.xxx=xxx就行,若是view點後面沒有代碼提示,則此屬性通常在view的layer中。 shadow屬性就是這種狀況。ide

shadow一共有五個相關屬性:

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

因此實現一個最基本的陰影,咱們只須要給shadowOpacity設定一個大於0小於1的值就能夠了。

下面簡單說一下各個屬性的做用:code

shadowOpacity:

陰影透明度,取值0-1,1是徹底不透明。視頻

shadowColor:

陰影顏色,CGColor類型,不贅述。htm

shadowRadius:

陰影寬度,也就是陰影的大小,單位是point。教程

shadowOffset:

陰影離view的距離(偏移量),CGSize類型,分x軸和y軸偏移,主要用來營造3D效果。ci

shadowPath:

陰影形狀。若是不設這項,系統會自動根據view的大小和位置描繪view的陰影,這樣須要消耗很是多的資源,因此必定要指定一下(通常是這個view的bounds)。  資源

廣告時間:小弟的iOS12零基礎視頻教程(每章皆可試聽):

m.study.163.com/provider/48…get

相關文章
相關標籤/搜索