如何摆脱右侧阴影但保持按钮上的底部阴影
Posted
技术标签:
【中文标题】如何摆脱右侧阴影但保持按钮上的底部阴影【英文标题】:How to get rid right side shadow but maintain bottom shadow on button 【发布时间】:2018-03-13 06:39:52 【问题描述】:我有循环创建一行按钮,我有以下代码来设置阴影。如何摆脱右侧阴影但保持底部阴影?
button.imageView.layer.cornerRadius = 7.0f;
button.layer.shadowRadius = 1.0f;
button.layer.shadowColor = [UIColor blackColor].CGColor;
button.layer.shadowOffset = CGSizeMake(0.0f, 2.0f);
button.layer.shadowOpacity = 0.5f;
button.layer.masksToBounds = NO;
【问题讨论】:
为什么不在UIView
上添加每个按钮,并为该视图提供底部阴影,而不是为每个按钮提供阴影?
我认为你不应该对每个按钮应用底部阴影,而是使用 UIView 并将所有按钮行放在其中并仅将底部阴影应用到该视图
【参考方案1】:
回答
建议添加 UIView
navigationView = [[UIView alloc]initWithFrame:CGRectMake(X_BUFFER+5,Y_POS_BTN,self.view.frame.size.width-10,HEIGHT_BTN)];
navigationView.backgroundColor = [UIColor whiteColor];
[self.view addSubview:navigationView];
UIBezierPath *shadowPath = [UIBezierPath bezierPathWithRect:self.navigationView.bounds];
self.navigationView.layer.masksToBounds = NO;
self.navigationView.layer.shadowColor = [UIColor blackColor].CGColor;
self.navigationView.layer.shadowOffset = CGSizeMake(5.0f, 5.0f);
self.navigationView.layer.shadowOpacity = 0.8f;
self.navigationView.layer.shadowPath = shadowPath.CGPath;
【讨论】:
以上是关于如何摆脱右侧阴影但保持按钮上的底部阴影的主要内容,如果未能解决你的问题,请参考以下文章