0

我需要一个 UIButton 但我不想要它的边框。

但是,当有人触摸按钮时,我仍然想保持漂亮的渐变叠加

就像在 Facebook iPad 应用程序上一样,它们在 News Feed 中的文本链接在您触摸它们时会显示一个灰色框覆盖。

我在这里看到了一个关于使用 UISegmentedControl 的解决方案。但是我不想在解决方案中使用渐变/Quartz 框架。

有没有人遇到过这个问题?

更新

这是一个插图 图片

(1) 在您触摸之前 (2) 是在您触摸按钮时发生的情况。

我基本上只是想复制这种效果,我猜是透明的“覆盖”,就像你触摸按钮时发生的那样,但没有边框。

4

2 回答 2

1

用你想要的颜色制作一个 UIImage,并调用setBackgroundImage:forState:高亮状态(当用户点击按钮时,按钮高亮);

于 2012-11-21T18:17:22.383 回答
1

使用以下内容:

UIButton *yourButton = [UIButton buttonWithType:UIButtonTypeCustom];
[yourButton setFrame:CGRectMake(0, 0, 200, 44)];
[yourButton setTitle:@"like" forState:UIControlStateNormal];

[yourButton setBackgroundImage:[UIImage imageNamed:@"normal.png"] forState:UIControlStateNormal];
[yourButton setBackgroundImage:[UIImage imageNamed:@"gradient.png"] forState:UIControlStateHighlighted];

// Round corners? Requires Quartzcore framework
[yourButton.layer setCornerRadius:8.0f];
[yourButton.layer setMasksToBounds:YES];
[yourButton.layer setBorderWidth:0.0f];
于 2012-11-21T18:28:22.287 回答