zoukankan      html  css  js  c++  java
  • Adding A Shadow To UIView

    参考: http://nscookbook.com/2013/01/ios-programming-recipe-10-adding-a-shadow-to-uiview/

    shadowOffset
    is a CGSize representing how far to offset the shadow from the path.

    shadowColor
    is the color of the shadow. Shadow colors should always be opaque, because the opacity will be set by the shadowOpacity property. The shadowColor property is a CGColor not a UIColor.

    shadowRadius
    is the width of the shadow along the shadow path
    he blur radius (in points) used to render the layer’s shadow

    shadowOpacity
    determines the opacity of the shadow.

    shadowPath
    is probably the most important of the properties. While a shadow can be drawn without specifying a path, for performance reasons you should always specify one. This path tells Core Animation what the opaque regions of the view are, and without it, things slow down severely! It is a CGPath, which is most easily created using UIBezierPath (iOS only)

    按钮左边添加阴影
    - (CGPathRef)fancyShadowForRect:(CGRect)rect
    {
    CGSize size = rect.size;
    UIBezierPath *path = [UIBezierPath bezierPath];
    [path moveToPoint:CGPointZero];
    [path addLineToPoint:CGPointMake(-12, 7)];
    [path addLineToPoint:CGPointMake(-12, size.height - 7)];
    [path addLineToPoint:CGPointMake(0, size.height - 7)];
    [path closePath];
    return path.CGPath;
    }


    plusBtn.layer.shadowOffset = CGSizeZero;
    plusBtn.layer.shadowOpacity = 0.9;
    plusBtn.layer.shadowColor = [[UIColor whiteColor] CGColor];
    plusBtn.layer.shadowRadius = 5;
    plusBtn.layer.shadowPath = [self fancyShadowForRect:plusBtn.bounds];

  • 相关阅读:
    百度语音
    前端技术
    自动化测试
    分布式锁
    缓存穿透、缓存击穿、缓存雪崩
    延迟队列
    Arthas
    MyBatis配置文件容易引发的不容易发现的问题(驼峰式命名)
    JUnit使用中遇到的问题
    使用ArrayList<E>遇到的数据重复问题
  • 原文地址:https://www.cnblogs.com/qike/p/5561345.html
Copyright © 2011-2022 走看看