我正在绘制自定义UIButton,并希望在突出显示时设置蓝色。我怎样才能做到这一点?
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];
[myButton setBackgroundImage:[[UIImage imageNamed:@"test.png"] stretchableImageWithLeftCapWidth:100 topCapHeight:0] forState:UIControlStateNormal];
答案 0 :(得分:3)
您可以执行以下操作来设置状态图像(正常/突出显示/选中)。你必须有图像。
[downButton setImage:[UIImage imageNamed:@"white.png"] forState:UIControlStateNormal];
[downButton setImage:[UIImage imageNamed:@"blue.png"] forState:UIControlStateHighlighted];
答案 1 :(得分:2)
您可以尝试使用其他图片来完成这项工作。您也可以参考以下链接:
答案 2 :(得分:2)
Ya,您可以创建1px x 1xx“蓝色”图像并使用以下内容:
[yourButton setBackgroundImage:[UIImage imageNamed:@"theImageYouMade.png"] forState:UIControlStateHighlighted];
您不能在我的方法中使用“setImage:”,因为按钮的突出显示状态实际上只会在按钮中心显示1px x 1xx图像。
我的方法适用于可变大小的按钮。使用setImage:要求您制作与按钮尺寸完全相同的图像。
-Chris
答案 3 :(得分:0)
也许为不同的状态设置不同的背景图像?
答案 4 :(得分:0)
为UIControlStateHighlighted
提供背景图片。此外,关闭adjustsImageWhenHighlighted
可能会有所帮助,但如果您为突出显示的状态提供单独的背景图像则无关紧要。