我有一个UIButton,它具有我在Interface Builder中设置的自定义背景(见图片)。它看起来不错,但在压缩状态下它变得非常难看(见第2张图片)。这是怎么回事?
正常:
按下:
答案 0 :(得分:1)
[btn setBackgroundImage:[[UIImage imageNamed:@"button_red.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(12, 12, 20, 12)] forState:UIControlStateNormal];
[btn setBackgroundImage:[[UIImage imageNamed:@"button_red_pressed.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(12, 12, 20, 12)] forState:UIControlStateHighlighted];
这应该可以解决问题。
此外,将您的按钮样式更改为自定义,这将删除该蓝色按钮背景。
答案 1 :(得分:0)
发布一些代码或图像本身。看起来您可能需要使用UIImage
的resizableImage*
方法之一来声明“已按下”的图像。它正在拉伸以填充按钮rect。
另外,我很喜欢iPhone SOCKS project中使用的MOButton
和MOGlassButton
类(本身很方便)。
更新
以下对我有用,它甚至在按下时将其设为黑暗: