首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在UIButton中创建边框?

如何在UIButton中创建边框?
EN

Stack Overflow用户
提问于 2011-11-17 13:10:30
回答 9查看 184.7K关注 0票数 177

我在我的名为"addButton“的应用程序中使用了自定义按钮,并且我想要用白色来边框,我如何才能在自定义按钮周围获得白色边框?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2011-11-17 13:26:08

您可以通过访问按钮的CALayer属性来设置该按钮的边框属性。

首先,添加Quartz

代码语言:javascript
复制
#import <QuartzCore/QuartzCore.h>

设置属性:

代码语言:javascript
复制
myButton.layer.borderWidth = 2.0f;
myButton.layer.borderColor = [UIColor greenColor].CGColor;

请参见:

https://developer.apple.com/documentation/quartzcore/calayer#//apple_ref/occ/cl/CALayer

上面链接中的CALayer允许您设置其他属性,如拐角半径、maskToBounds等。

另外,还有一篇关于按钮乐趣的好文章:

https://web.archive.org/web/20161221132308/http://www.apptite.be/tutorial_custom_uibuttons.php

票数 362
EN

Stack Overflow用户

发布于 2014-11-13 00:18:01

在swift中,你不需要导入"QuartzCore/QuartzCore.h“

只需使用:

代码语言:javascript
复制
button.layer.borderWidth = 0.8
button.layer.borderColor = (UIColor( red: 0.5, green: 0.5, blue:0, alpha: 1.0 )).cgColor

代码语言:javascript
复制
button.layer.borderWidth = 0.8
button.layer.borderColor = UIColor.grayColor().cgColor
票数 24
EN

Stack Overflow用户

发布于 2015-05-11 12:50:52

设置图层的borderWidthborderColor的问题是,当你触摸按钮时,边框不会产生高亮效果。

当然,您可以观察按钮的事件并相应地更改边框颜色,但这感觉没有必要。

另一种选择是创建一个可伸展的UIImage,并将其设置为按钮的背景图像。您可以在Images.xcassets中创建图像集,如下所示:

然后,将其设置为按钮的背景图像:

如果您的图像是模板图像,您可以设置按钮的色调颜色,边框将更改:

现在,当触摸时,边框将与按钮的其余部分一起高亮显示。

票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8162411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档