设置圆角、阴影

作者: ibiaoma | 来源:发表于2016-10-29 15:17 被阅读104次

一、设置圆角的几种方式

1、代码中常常这样设置

//cornerRadius 设置为self.iconImage图片宽度的一半(仅针对正方形UIView)
self.iconImage.layer.cornerRadius = self.iconImage.frame.size.width/2;
self.iconImage.layer.masksToBounds = YES;

2、在Xib或Stroyboard中这样

yuanjiao.png

3、使用绘图,重绘一个圆形图片

    /**设置圆形图片(建议放到分类中使用) */
    - (UIImage *)circleImage{
      // 如果是长方形图片,就按最短的边来
        CGFloat w = self.size.width < self.size.height ? self.size.width : self.size.height;
        UIGraphicsBeginImageContext(CGSizeMake(w, w));
        UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, w, w)];
        [path addClip];
        [self drawAtPoint:CGPointZero];
        UIImage *circleImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
       return circleImage;
    }
性能方面:使用方式1、2设置的性能没有方式3性能好。因为使用图层过量会有卡顿现象,所有如果特别多的图片需要圆形、阴影处理的话,建议使用绘图方式。

二、设置阴影效果

    View.layer.shadowOffset = CGSizeMake(0, 0);  //x向右偏移,y向下偏移,设置成(0,0)表示不偏移
    View.layer.shadowColor = [UIColor blackColor].CGColor;   //阴影颜色
    View.layer.shadowOpacity = 1;  //阴影透明度,默认0
    View.layer.shadowRadius = 4;  //阴影半径,默认3

三、同时设置圆角和阴影效果

如果这样设置是这种效果会没有阴影(原因:使用masksToBounds会切掉阴影部分的图层)

        View.layer.cornerRadius = 10;
        View.layer.masksToBounds = YES;
        View.layer.shadowOffset = CGSizeMake(0, 0);
        View.layer.shadowColor = [UIColor blackColor].CGColor;
        View.layer.shadowOpacity = 1;
        View.layer.shadowRadius = 4;

解决方法就是不切,删除这行代码

        View.layer.masksToBounds = YES;

效果如如下:

IMG_1614.PNG

相关文章

  • Image

    直接圆角图片 设置圆角图片度数 设置圆角图片带灰色圆角边框 设置圆角图片带灰色圆角边框带阴影

  • iOS 图片添加阴影效果

    Code 圆形图片设置阴影(补充) < 设置图片圆角阴影

  • iOS同时设置圆角和阴影含部分圆角

    阴影和圆角都是CAlayer的特性。在iOS11之前,阴影和圆角基本是不能共存的,设置了圆角,再设置阴影的时候,阴...

  • iOS tableViewCell 同时设置圆角和阴影

    上图是设置的结果,cell四周圆角,阴影为了能明显设置了绿色。 设置问题:如果都在cell上面设置,圆角和阴影,那...

  • CSS3之圆角和阴影

    1.圆角 border-radius:可设置四个方向上不同圆角 2.阴影 box-shadow:可设置单边阴影效果...

  • 设置圆角、阴影

    一、设置圆角的几种方式 1、代码中常常这样设置 2、在Xib或Stroyboard中这样 3、使用绘图,重绘一个圆...

  • iOS用layer为UIButton同时添加圆角和阴影

    UI图给出统一btn组件带有圆角阴影,通常的方式设置圆角没问题,设置阴影也没问题,但是只要用了masksToBou...

  • iOS阴影设置详解

    UIView的阴影设置主要通过UIView的layer的相关属性来设置 阴影的颜色 阴影的透明度 阴影的圆角 阴影...

  • UIView加阴影

    UIView的阴影设置主要通过UIView的layer的相关属性来设置 阴影的颜色 阴影的透明度 阴影的圆角 阴影...

  • Flutter 冷门组件

    一、Checkbox 二、PhysicalModel 设置阴影、圆角 三、PhysicalShape 设置特殊形状...

网友评论

    本文标题:设置圆角、阴影

    本文链接:https://www.haomeiwen.com/subject/frlyuttx.html