仅 UIImageView 顶部和底部的内部阴影(目标 C)
Posted
技术标签:
【中文标题】仅 UIImageView 顶部和底部的内部阴影(目标 C)【英文标题】:Inner Shadow to UIImageView Top and Bottom only (Objective C) 【发布时间】:2018-03-20 14:23:01 【问题描述】:我想将内部阴影添加到我的 UIImageView 中,如下所示:(以下是需要在图像视图上添加预期的阴影)
仅在顶部和底部应用阴影框架,而不是在前导和 尾随。
我已经尝试了下面的代码,但没有得到预期的输出。
- (void)viewDidLoad
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIView * mapCover = [UIView new];
CGRect frameImage = self.bgImageView.frame;
frameImage.origin.x = -50;
frameImage.size.width = frameImage.size.width+50;
mapCover.frame = frameImage;
[self.view addSubview:mapCover];
CAGradientLayer * vertical = [CAGradientLayer layer];
vertical.frame = mapCover.bounds;
vertical.colors = [NSArray arrayWithObjects:(id)[UIColor blackColor].CGColor,
(id)[[UIColor whiteColor] colorWithAlphaComponent:0.0f].CGColor,
(id)[[UIColor whiteColor] colorWithAlphaComponent:0.0f].CGColor,
(id)[UIColor whiteColor].CGColor, nil];
vertical.locations = @[@0.01,@0.1,@0.9,@0.99];
[mapCover.layer insertSublayer:vertical atIndex:0];
CAGradientLayer * horizontal = [CAGradientLayer layer];
horizontal.frame = mapCover.bounds;
horizontal.colors = [NSArray arrayWithObjects:(id)[UIColor whiteColor].CGColor,
(id)[[UIColor whiteColor] colorWithAlphaComponent:0.0f].CGColor,
(id)[[UIColor whiteColor] colorWithAlphaComponent:0.0f].CGColor,
(id)[UIColor whiteColor].CGColor, nil];
horizontal.locations = @[@0.01,@0.1,@0.9,@0.99];
horizontal.startPoint = CGPointMake(0.0, 0.5);
horizontal.endPoint = CGPointMake(1.0, 0.5);
[self.bgImageView.layer insertSublayer:horizontal atIndex:0];
【问题讨论】:
您的帖子没有明确您的问题。图像是您试图 获得的吗?或者它是你目前正在做的事情的结果?如果这是您当前的结果,您还需要显示您想要获得的图像。 我会更新的 【参考方案1】:已解决!!!
使用下面链接中的 UIView 类别:其中有枚举 上|下|左|右
// Add a shadow to the top and bottom of the view
[exampleView addInnerShadowWithRadius:3.0f
andColor:[UIColor colorWithWhite:0 alpha:0.45f]
inDirection:NLInnerShadowDirectionBottom | NLInnerShadowDirectionTop];
http://www.nathanlampi.com/posts/10002/UIView-Inner-Shadow.html
【讨论】:
以上是关于仅 UIImageView 顶部和底部的内部阴影(目标 C)的主要内容,如果未能解决你的问题,请参考以下文章