首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS SDK -在蒙版图像上放置阴影

iOS SDK -在蒙版图像上放置阴影
EN

Stack Overflow用户
提问于 2013-11-04 06:06:54
回答 4查看 5K关注 0票数 6

如何在带有蒙版图像的UIImageView上放置阴影?

我不是指矩形阴影--我也想把同样的蒙版效果应用到阴影上。

EN

回答 4

Stack Overflow用户

发布于 2014-12-10 20:42:22

为UIImageView提供阴影效果的尝试下面的代码..

1) #import <QuartzCore/QuartzCore.h> in .h file

2) To give a shadow effect to Cell's UIImageView

代码语言:javascript
复制
mediaImage.layer.shadowColor = [UIColor blackColor].CGColor;
mediaImage.layer.shadowRadius = 10.f;
mediaImage.layer.shadowOffset = CGSizeMake(0.f, 5.f);
mediaImage.layer.shadowOpacity = 1.f;
mediaImage.clipsToBounds = NO;
票数 3
EN

Stack Overflow用户

发布于 2014-04-15 23:23:49

井!你可以试试这个。

代码语言:javascript
复制
// Use a White background to make the shadow prominent.
self.view.backgroundColor = [UIColor whiteColor];

// The image we're going to mask and shadow
UIImageView *image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourImage.jpeg"]];
image.center = self.view.center;

// Make new layer to contain shadow and masked image
CALayer *containerLayer = [CALayer layer];
containerLayer.shadowColor = [UIColor blackColor].CGColor;
containerLayer.shadowRadius = 10.f;
containerLayer.shadowOffset = CGSizeMake(0.f, 5.f);
containerLayer.shadowOpacity = 1.f;

// Use the image's layer to mask the image into a circle
image.layer.cornerRadius = roundf(image.frame.size.width/2.0);
image.layer.masksToBounds = YES;

// Add masked image layer into container layer so that it's shadowed
[containerLayer addSublayer:image.layer];

// Add container including masked image and shadow into view
[self.view.layer addSublayer:containerLayer];
票数 2
EN

Stack Overflow用户

发布于 2018-04-18 13:36:28

您可以自定义一个名为NEWImageVIew inherit UIImageView.In NEWImageVIew的子类,您可以创建一个名为realImageContainer的属性,您可以将该属性设置为image。

代码语言:javascript
复制
@interface NEWImageView : UIImageView
@property (nonatomic,strong) UIImageView *realImageContainer;
@end

@implementation NEWImageView

- (UIImageView *)realImageContainer {
    if (!_realImageContainer) {
        _realImageContainer = [UIImageView new];
        [self addSubview:_realImageContainer];

        [_realImageContainer mas_makeConstraints:^(MASConstraintMaker *make) {
            make.edges.equalTo(self);
        }];
    }
    return _realImageContainer;
}
@end

当你想要使图像蒙版和阴影,你可以在realImageContainer中设置图像,并设置蒙版为realImageContainer层,这样你就得到了遮罩层。

代码语言:javascript
复制
NEWImageView *newImgView = [[NEWImageView alloc] init];
newImgView.backgroundColor = [UIColor clearColor];
newImgView.contentMode = UIViewContentModeScaleAspectFit;
newImgView.realImageContainer.image = self.image;
newImgView.realImageContainer.layer.mask = self.maskLayer;//this masklayer you     can make youself

阴影呢?因为realImageContainer被添加到了NEWImageView的视图中,NEWImageView的层还没有使用,所以你可以在这里设置阴影。

代码语言:javascript
复制
newImgView.layer.shadowColor = [UIColor blackColor].CGColor;
newImgView.layer.shadowOpacity = 0.33;
newImgView.layer.shadowRadius = 8;
newImgView.layer.shadowOffset = CGSizeMake(0, 19);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19758754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档