带边框的透明按钮

时间:2013-01-29 14:54:58

标签: iphone ios objective-c uibutton transparency

我试图通过使它们透明但仍有边框的按钮来获得此效果。当我制作透明图像时,由于某种原因,它们会使按钮变大。以下是效果的一些例子。

In this image the buttons on the navigation bar are semi-transparent to the background of the navigation bar.

On the left side the "Action Composer" button is transparent, but still has a border.

在第一张图片中,导航栏上的按钮对导航栏的背景是半透明的。

在左侧的第二张图片中,“Action Composer”按钮是透明的,但仍有边框。

3 个答案:

答案 0 :(得分:5)

试试这个:

这将创建一个透明按钮:

UIButton *button=[UIButton buttonWithType:UIButtonTypeCustom];
button.frame  GRectMake(x, y, w, h);
[button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
[button setTitle:@"Button" forState:UIControlStateNormal];
button.backgroundColor=[UIColor clearColor];
[button setTitleColor:[UIColor colorWithRed:0.3 green:0.1 blue:0.4 alpha:1.0] forState:UIControlStateNormal];
[self.view addSubview:btn];

现在为边框:

[[button layer] setBorderWidth:2.0f];
[[button layer] setBorderColor:[UIColor greenColor].CGColor];

答案 1 :(得分:2)

最简单的方法是为按钮创建图像资源。

图像将有一个边框和一个清晰的中间。

然后使用图像作为按钮图像。

答案 2 :(得分:0)

我建议您查看FTWButton。它是一款超级可定制的UIControl,可复制UIButton并在外观方面提供疯狂的多功能性。它在控制状态之间也有一些很好的动画。

它带有一些内置样式,但您可以根据自己的喜好自定义按钮。

我与项目没有任何关系,我只是将它用于我自己的一个项目并且喜欢它:)