36

Xcode 5 中不再提供圆形矩形按钮的拖放功能吗?我似乎在 Interface Builder 中找不到它。我猜这是 iOS 7 的变化之一,但我只是想确定一下。

4

4 回答 4

74

也可以在情节提要中制作圆角矩形。

在此处输入图像描述

于 2014-01-18T02:19:13.417 回答
52

Xcode 4 和以前版本中的按钮Round Rect似乎已被替换为System Default按钮,这也恰好是清晰的。即默认情况下没有带圆角的白色背景,只有文本可见。

要将按钮设为白色(或任何其他颜色),请选择属性检查器并向下滚动到该View部分:

在此处输入图像描述

选择Background并将其更改为白色:

在此处输入图像描述

如果你想要圆角,你可以用一点代码来做到这一点。只需ctrl-drag从按钮到您的.h文件,将其命名为类似roundedButton并将其添加到您的viewDidLoad

CALayer *btnLayer = [roundedButton layer];
[btnLayer setMasksToBounds:YES];
[btnLayer setCornerRadius:5.0f];
于 2013-09-24T09:08:51.787 回答
5

这对于@Robert 的回答中的评论来说太长了,但我只想添加关于以下声明的内容:“Xcode 4 中的圆形矩形按钮......似乎已被替换......”。

确认它肯定被替换:

圆角矩形按钮在 iOS 7 中已弃用。而是使用系统按钮,即 UIButtonTypeSystem 类型的 UIButton 对象。

iOS 7 系统按钮不包括边框或背景外观。系统按钮可以包含图形符号或文本标题,并且可以指定色调颜色或接收其父项的颜色。

...

如果您需要显示包含边框的按钮,请使用 UIButtonTypeCustom 类型的按钮并提供自定义背景图像。

Apple iOS 7 过渡指南,第 45、《圆角矩形按钮》

因此,Apple 的建议是使用背景图片。

于 2014-01-18T01:27:04.413 回答
3

实际上,在 ios 7 中,基本控件的总 UI 已更改。如果您仍然想要一个圆角矩形按钮,则必须使用 UIView 子类的核心图形属性,即;层属性。

buttonObj.layer.cornerRadius = 5.0f;//any float value

要显示效果,您必须为 buttonObj 提供一些背景颜色

如果要设置边框宽度

buttonObj.layer.borderWidth = 2.0f;//any float value

你也可以给边框颜色

buttonObj.layer.borderColor = [[UIColor greenColor]CGColor];

注意:这里我们必须使用 CGColor 作为图层,因为图层是 UIViews 的核心图形属性

于 2014-08-01T05:13:54.820 回答