iOS按钮 - 添加边框

use*_*593 52 objective-c uibutton ios ios7

我正在为iOS7准备我的应用程序.我做了转换,并与用户合作.应用程序中的按钮看起来不像按钮.看起来很平坦.有没有办法放置边框或让它像按钮一样站立?

Meh*_*kar 104

尝试这个添加边框,它会工作

#import <QuartzCore/QuartzCore.h>
Run Code Online (Sandbox Code Playgroud)

然后在 viewDidLoad

_btn.layer.borderWidth=1.0f;
_btn.layer.borderColor=[[UIColor blackColor] CGColor];
_btn.layer.cornerRadius = 10;
Run Code Online (Sandbox Code Playgroud)

你也可以填充颜色使外观有点像按钮,或者最好的方法是在那里使用图像

除BorderColor外,您也可以使用Runtime属性来完成.

在此输入图像描述

  • 你添加了QuartzCore框架吗? (2认同)
  • 实际上,刚刚找到了cornerRadius属性.`_btn.layer.cornerRadius = 8.0f;`因此,改变半径并设置较浅的灰色边框颜色,我想删除圆角矩形按钮类型属性会使IOS7和以前的版本看起来都一样. (2认同)

Sha*_*yaz 44

试试这个,这会设置边框到按钮

#import <QuartzCore/QuartzCore.h>

btn.layer.borderColor = [UIColor blackColor].CGColor;

btn.layer.borderWidth = 1.0;

btn.layer.cornerRadius = 10;
Run Code Online (Sandbox Code Playgroud)


小智 23

使用Swift和XCode 6,您可以执行此操作.

单击Storyboard中的UIButton元素,然后转到身份检查器.在用户定义的运行时属性中,输入:

layer.borderWidth number 1
Run Code Online (Sandbox Code Playgroud)

如果你想要漂亮的角落

layer.cornerRadius number 5
layer.maskToBounds boolean true
Run Code Online (Sandbox Code Playgroud)

现在,这将为您提供边框,但设置您需要使用代码执行此操作所需的颜色.转到视图控制器,然后从按钮添加IBOutlet.请注意,在这种情况下,它是IBOutlet,而不是IBAction.说你做,

@IBOutlet weak var xButton: UIButton!
Run Code Online (Sandbox Code Playgroud)

在viewDidLoad函数中调用它,如下所示设置颜色.

xButton.layer.borderColor = UIColor.whiteColor().CGColor
Run Code Online (Sandbox Code Playgroud)

谢谢!


Nik*_*rev 15

iOS7中的设计原则已经改变.但是,如果你想要更平坦,但仍然想要一个"像按钮一样"的自定义按钮,你可以尝试这个开源组件集合:

在GitHub上的FlatUIKit