圆形UIButton具有暗效果

时间:2014-02-25 10:14:55

标签: ios objective-c iphone uibutton rounded-corners

我需要在屏幕截图中创建带有圆角和黑色阴影的渐变按钮。任何帮助将不胜感激。

enter image description here

6 个答案:

答案 0 :(得分:1)

用于圆角矩形 转到Identity Inspector - >用户定义的运行时属性

对角半径 1.单击“+”按钮 2.给出关键路径的值= layer.cornerRadius,Type = Number& value = 2

对于边框宽度重复相同的步骤,但键路径= layer.borderWidth

答案 1 :(得分:0)

尝试:

CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = YOUBUTTON.bounds;
gradient.colors = [NSArray arrayWithObjects:(__bridge id)[[UIColor blackColor] CGColor], (__bridge id)[[UIColor whiteColor] CGColor], nil];
YOUBUTTON.layer insertSublayer:gradient atIndex:0];

然后只需将颜色更改为您想要的颜色..?

答案 2 :(得分:0)

使用此功能,您可以设置UIButton圆的圆角半径。

self.yourButton.layer.cornerRadius = 10; // this value vary as per your desire
self.yourButton.clipsToBounds = YES;

答案 3 :(得分:0)

如果你想要 UIButton圆正,那就用一个:

您必须在任何想要在framewrok下使用 CALayers 的文件中添加导入。

<强> #import <QuartzCore/QuartzCore.h>

  // assuming you have a UIButton is YourButton

YourButton.layer.cornerRadius = 2;//give yourbutton.size.width/2 it's look better
YourButton.layer.borderWidth = 1;
YourButton.layer.borderColor = [UIColor blueColor].CGColor;

愿它能帮到你。

答案 4 :(得分:0)

在项目中添加Quartzcore框架

并导入 #import&lt;您的View控制器中的QuartzCore / QuartzCore.h&gt;

UIButton *btngrident=[UIButton buttonWithType:UIButtonTypeCustom];
[btngrident setFrame:CGRectMake(50, 100, 150, 45)];
[self.view addSubview:btngrident];

 CALayer *layer = btngrident.layer;
 layer.cornerRadius = 8.0f;
 layer.masksToBounds = YES;
 layer.borderWidth = 1.0f;
 layer.borderColor = [UIColor colorWithWhite:0.5f alpha:0.2f].CGColor;

 // Add Shine<Br/>

 CAGradientLayer *shineLayer = [CAGradientLayer layer];
 shineLayer.frame = layer.bounds;>

 shineLayer.colors = [NSArray arrayWithObjects:
                         (id)[UIColor colorWithWhite:1.0f alpha:0.4f].CGColor,
                         (id)[UIColor colorWithWhite:1.0f alpha:0.2f].CGColor,
                         (id)[UIColor colorWithWhite:0.75f alpha:0.2f].CGColor,
                         (id)[UIColor colorWithWhite:0.4f alpha:0.2f].CGColor,
                         (id)[UIColor colorWithWhite:1.0f alpha:0.4f].CGColor,
                         nil];

 shineLayer.locations = [NSArray arrayWithObjects:
                            [NSNumber numberWithFloat:0.0f],
                            [NSNumber numberWithFloat:0.5f],
                            [NSNumber numberWithFloat:0.5f],
                            [NSNumber numberWithFloat:0.8f],
                            [NSNumber numberWithFloat:1.0f],
                            nil];
 [layer addSublayer:shineLayer];

答案 5 :(得分:0)

实际上这不是黑影。阴影更像是按钮底色的明亮版本。按钮本身有一个黑色(黑色)边框。

要实现此目的,您可以执行以下操作。

  1. 下载此项目:https://github.com/inamiy/YIInnerShadowView

  2. 重要的课程是YIInnerShadowLayer。将其添加到您的项目中。

  3. 要重现确切的效果,您应该更改阴影的颜色。在init的{​​{1}}方法中执行此操作。更好的是,提供一个新的init方法,将UIColor作为其参数并将其分配给YIInnerShadowLayer属性。一种非常通用的方法是将shadowColor设置为白色。

  4. 在您的视图中添加该类的实例(按钮,标签,等等,但现在让我们称之为shadowColor)。要查看如何添加该图层,您可以查看myView的{​​{1}}方法。

  5. 将新图层的框架设置为_init的边界。

  6. 对于圆角,请YIInnerShadowView

  7. 对于黑色边框,请myView

  8. 随意询问是否有不明确的事情。

    我的最终结果:

    enter image description here