我需要一个UIButton,但我不想要它的边框。
然而,当有人触摸按钮
时,我仍然希望保留漂亮的渐变叠加效果与Facebook iPad应用程序一样,它们在新闻Feed中显示的文字链接会在您触摸时显示灰色框叠加。
我在这里看到了一个关于使用UISegmentedControl的解决方案。但是我不想在解决方案中使用渐变/ Quartz框架。
以前有人遇到过这个问题吗?
更新
这是一个例子
(1)在您触摸之前(2)是您触摸按钮时发生的情况。
我基本上只想复制这个效果,我猜一个透明的'叠加',就像当你触摸按钮但没有边框时会发生什么。
答案 0 :(得分:1)
以您想要的颜色制作UIImage,并为突出显示的状态调用setBackgroundImage:forState:
(当用户点击该按钮时,该按钮会突出显示);
答案 1 :(得分: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];