標籤:ios8 swift ui設計 imageview 邊框陰影
ImageView是我們經常用到的組件,但是我們發現storyboard中圖片的屬性編輯器中沒有對於圖片邊框的設計。在view中添加一張普通的圖片,效果是這樣的:
可以看到,白色背景上的深色圖片,效果總是有點突兀,我們想要加一個陰影邊框來過渡一片和背景,開啟圖片所屬的控制器代碼,類中所顯示的圖片名為image,現在來設定它的邊框。在viewDidLoad中輸入以下代碼:
image.layer.backgroundColor = UIColor.orangeColor().CGColor image.layer.shadowColor = UIColor.blackColor().CGColor image.layer.shadowOffset = CGSizeMake(0, 0) image.layer.shadowOpacity = 0.5 image.layer.shadowRadius = 10.0
使用了layer這個屬性,command進去看一下layer的源碼:
var layer: CALayer { get } // returns view's layer. Will always return a non-nil value. view is layer's delegate
可以看到它是一個CALyer類型的,CALyer類型有非常多的方法,感興趣的小夥伴可以點進去看看。
注意一下,layer的屬性backgroundColor不是我們常用的UIColor類型,是一個CGColor類型的,如果你用強轉語句的話是行不通的:
image.layer.backgroundColor = UIColor.orangeColor() as CGColor
或者是
image.layer.backgroundColor = (CGColor) UIColor.orangeColor()
都是行不通的,可行的辦法就是以上代碼中的,在後面加一個.CGColor.
現在運行一下看看效果:
現在邊框陰影已經加好了,是不是很炫?
swift UI專項訓練36 ImageVi圖片邊框陰影