为按钮添加边框和阴影

Posted

技术标签:

【中文标题】为按钮添加边框和阴影【英文标题】:Add border and shadow to the buttons 【发布时间】:2011-10-27 23:03:53 【问题描述】:

我想为我在 iPad 应用程序中添加的按钮添加中等粗的黑色边框和阴影。我已经将这些按钮作为自定义按钮,因为我在它们上应用了图像。如何为 ht 添加边框和阴影

【问题讨论】:

【参考方案1】:

添加阴影和边框很简单。

1) 将 QuartzCore 框架添加到您的目标。 2)在要添加边框和阴影的类中导入框架标题。 (或者,如果您有按钮的自定义类,那么您可以在该类中简单地导入此框架。) 3) 要为按钮添加边框,请使用此代码(其中button 是与界面中的按钮连接的IBOutlet):

[self.button.layer setBorderWidth:3.0];
[self.button.layer setBorderColor:[[UIColor blackColor] CGColor]];

4) 要为按钮添加阴影,请使用以下代码:

[self.button.layer setShadowOffset:CGSizeMake(5, 5)];
[self.button.layer setShadowColor:[[UIColor blackColor] CGColor]];
[self.button.layer setShadowOpacity:0.5];

您可以调整这些值,看看它会如何影响行为。

【讨论】:

嘿,arslan,谢谢哥们,您的代码有效。我只需要做一些小的改动。我还想知道一件事。最初我的按钮有圆角,在使用您的代码应用边框后,角不再圆角。那么我怎样才能让它们像最初一样圆润。关于电脑 @PrateekChaubey 很高兴知道它对您有所帮助:) ...是的,您可以使用以下代码将边框的角设置为圆形矩形[self.button.layer setCornerRadius:5.0]; 我使用自定义 UIButton 类 'UIDictButton'。并使用代码自定义我的按钮,但没有 shadow.only 边框。 @Arsian 如果您设置cornerRadius 可能是您应该将 maskbouds 设置为 YES。 @frank。你能分享你用来为你的按钮添加阴影的代码吗?您必须使用 shadowOffSet 值才能获得所需的结果。 你好 Arslan,你知道如何在 Mac 应用程序中使用 NSButton 吗?【参考方案2】:

如果你在 Cocoa 中,你可以使用 NSView 的 setShadow。 (NSView 是 NSButton 的祖先。)我没有看到 UIView 的等效方法,所以我认为在 ios 中没有任何简单的方法可以做到这一点。想想看,我认为我没有在 iOS 应用程序中看到过这种效果。

但既然您使用的是自定义按钮图像,为什么不准备包含阴影和边框的图像呢?

【讨论】:

好吧,我的设计师没有为我提供包含边框的图像。我让他给我新的图像,但现在我的经理说他不会给我新的图像。我必须自己应用边框和阴影。

以上是关于为按钮添加边框和阴影的主要内容,如果未能解决你的问题,请参考以下文章

qt按钮边框的问题

带边框和阴影的圆形按钮

Fullcalendar 删除按钮边框/阴影

如果单击,如何删除按钮中的蓝色框阴影边框

CSS CSS - CSS3 Safari样式工具栏按钮圆角框阴影按下边框半径为Moz,Firefox,KHTML

flash按钮的阴影效果如何做