Xcode 5中没有圆形矩形按钮?

时间:2013-08-22 15:30:12

标签: ios uibutton interface-builder ios7 xcode5

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

4 个答案:

答案 0 :(得分:74)

还可以在故事板中制作圆角矩形。

enter image description here

答案 1 :(得分:52)

Xcode 4和之前版本的Round Rect按钮似乎已被System Default按钮替换,这也很明显。即默认情况下,没有带圆角的白色背景,只有文本可见。

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

enter image description here

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

enter image description here

如果你想要圆角,可以用一点代码来完成。 只需ctrl-drag从按钮到.h文件,将其称为roundedButton,并将其添加到viewDidLoad

CALayer *btnLayer = [roundedButton layer];
[btnLayer setMasksToBounds:YES];
[btnLayer setCornerRadius:5.0f];

答案 2 :(得分:5)

这对于@ Robert的回答来说太长了,但我只是想补充一下这句话:“来自Xcode 4的圆形矩形按钮......似乎已被替换......”。

确认已经 已被替换:

  

在iOS 7中不推荐使用圆角矩形按钮。请使用   系统按钮 - 即UIButtonTypeSystem类型的UIButton对象。

     

iOS 7系统按钮不包括挡板或背景外观。   系统按钮可以包含图形符号或文本标题   可以指定色调颜色或接收其父色。

     

...

     

如果您需要显示包含挡板的按钮,请使用按钮   键入UIButtonTypeCustom并提供自定义背景图像。

Apple iOS 7 Transition Guide,p。 45,“圆角矩形按钮”

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

答案 3 :(得分:3)

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

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的核心图形属性