阴影的设置是通过layer的shadow设置的,其中offset为阴影的偏移量,探索下offset是如何影响阴影显示的
定义6个按钮,分别表示width 和 height 从 5.0 至 -5.0的变化过程
整体效果如下:
阴影显示
根据效果图,可以得出如下结论
- 当width 为正数时,shadow向右偏移,为负数时,shadow向左偏移
- 当height为正数时,shadow向下偏移,为负数时,shadow向上偏移
阴影的设置代码如下
fileprivate func setupShader(_ w: CGFloat, _ h: CGFloat, _ btn: UIButton){ //设置阴影路径--避免离屏渲染 let path = UIBezierPath(rect: btn.bounds) btn.layer.shadowPath = path.cgPath //设置阴影颜色 btn.layer.shadowColor = UIColor.black.cgColor //设置透明度 btn.layer.shadowOpacity = 0.5 //设置阴影半径 btn.layer.shadowRadius = 5.0 //设置阴影偏移量 btn.layer.shadowOffset = CGSize(width: w, height: h) }