为按钮添加边框和阴影
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 应用程序中看到过这种效果。
但既然您使用的是自定义按钮图像,为什么不准备包含阴影和边框的图像呢?
【讨论】:
好吧,我的设计师没有为我提供包含边框的图像。我让他给我新的图像,但现在我的经理说他不会给我新的图像。我必须自己应用边框和阴影。以上是关于为按钮添加边框和阴影的主要内容,如果未能解决你的问题,请参考以下文章