带边框和阴影的圆形按钮
Posted
技术标签:
【中文标题】带边框和阴影的圆形按钮【英文标题】:Round button with border and shadow 【发布时间】:2019-06-04 08:45:02 【问题描述】:创建一个按钮(如图片中的那个)的最佳方法是什么? 我试过了:
self.button.layer.shadowColor = UIColor.redColor.CGColor;
self.button.layer.shadowRadius = 30.0f;
self.button.layer.shadowOpacity = 1.0f;
self.button.layer.shadowOffset = CGSizeMake(0.0f, 30.0f);
self.button.clipsToBounds = NO;
[self.button setNeedsDisplay];
但这只是添加了一个很小的非常模糊的阴影,一点也不像图像中的那样。
【问题讨论】:
【参考方案1】:嘿 @user426132 设置 UIbutton 背景图像并尝试此代码
对于Objective-c
self.button.layer.cornerRadius = self.button.frame.size.width / 2;
self.button.layer.masksToBounds = false;
self.button.layer.shadowColor = UIColor.grayColor.CGColor;
self.button.layer.shadowOpacity = 1.0;
self.button.layer.shadowOffset = CGSizeMake(0.0f, 0.0f);
self.button.layer.shadowRadius = 10;
self.button.layer.shouldRasterize = true;
self.button.layer.rasterizationScale = UIScreen.mainScreen.scale;
对于 Swift 4.2
self.btnShadow.layer.cornerRadius = self.btnShadow.frame.size.width / 2
self.btnShadow.layer.masksToBounds = false
self.btnShadow.layer.shadowColor = UIColor.black.cgColor
self.btnShadow.layer.shadowOpacity = 1.0
self.btnShadow.layer.shadowOffset = CGSize(width: 0, height: 0)
self.btnShadow.layer.shadowRadius = 10
self.btnShadow.layer.shouldRasterize = true
self.btnShadow.layer.rasterizationScale = UIScreen.main.scale
输出在这里是,黑色十字是图像
【讨论】:
设置背景图片是什么意思? 如果你想得到相同的 [i.stack.imgur.com/a1tVW.png] 按钮看起来那么设置你的图像按钮图像。以上是关于带边框和阴影的圆形按钮的主要内容,如果未能解决你的问题,请参考以下文章
CSS-CSS3 Safari风格工具栏按钮圆形框阴影按下边框半径Moz,Firefox,K
如何在圆形 imageView android 上添加一个阴影和边界