swift UI专项训练36 ImageVi图片边框阴影

    ImageView是我们经常用到的组件,但是我们发现storyboard中图片的属性编辑器中没有对于图片边框的设计。在view中添加一张普通的图片,效果是这样的:

  swift UI专项训练36 ImageVi图片边框阴影_第1张图片

可以看到,白色背景上的深色图片,效果总是有点突兀,我们想要加一个阴影边框来过渡一下图片和背景,打开图片所属的控制器代码,类中所显示的图片名为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图片边框阴影_第2张图片

现在边框阴影已经加好了,是不是很炫?

你可能感兴趣的:(ios8,swift,UI设计,imageview,边框阴影)