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.
现在运行一下看看效果:
现在边框阴影已经加好了,是不是很炫?
原文链接:https://www.f2er.com/swift/327533.html