【问题标题】:How to use Quartz 2D to add drop shadow to an UIImage or UIImageView?如何使用 Quartz 2D 向 UIImage 或 UIImageView 添加阴影?
【发布时间】:2011-08-23 19:37:08
【问题描述】:

如何使用 Quartz 2D 为 UIImageUIImageView 添加投影?

有代码示例吗?

【问题讨论】:

    标签: iphone ipad uiimageview uiimage


    【解决方案1】:
    imageView.layer.shadowColor = [UIColor blackColor].CGColor;
    imageView.layer.shadowOffset = CGSizeMake(0, 1);
    imageView.layer.shadowOpacity = 1;
    imageView.layer.shadowRadius = 1.0;
    

    不要忘记在你的实现中#import <QuartzCore/QuartzCore.h>

    编辑:

    添加@Luke 的评论:

    只是一个小问题,可能会为其他人节省一些时间出现。

    【讨论】:

    • 阴影是纯黑色吗?阴影不透明怎么办?谢谢。
    • 您通过修改 shadowOpacity 属性来设置不透明度。
    • 我都做了,错误是:“在'UIImage'类型的对象上找不到属性'层'”,我该怎么办?
    • @ValKalinic 确保将 QuartzCore 框架添加到您的 XCode 项目中。
    • 只是一个小问题,可能会为其他人节省一些时间,请确保您没有在视图上将 maskToBounds 设置为 YES,否则阴影不会出现! layer.masksToBounds = YES;
    【解决方案2】:
    + (void)addShadowToView:(UIView*)view Color:(UIColor*)color ShadowOffset:(CGSize)offset Radius:(float)radius Opacity:(float)opacity
    {
        view.layer.shadowColor = [color CGColor];
        view.layer.shadowOffset = offset;
        view.layer.shadowRadius = radius;
        view.layer.shadowOpacity = opacity;
    }
    

    用途:

    [calssName addShadowToView:self.navigationController.navigationBar Color:[UIColor blackColor] ShadowOffset:CGSizeMake(1.0f, 0.5f) Radius:1.0 Opacity:0.5];
    

    【讨论】:

      猜你喜欢
      • 2013-08-26
      • 2021-11-06
      • 1970-01-01
      • 2011-02-25
      • 2013-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多