在iOS7.1 UIButton设置图像不起作用?

use*_*180 4 iphone ipad ios ios7.1

[_firstPrincipleButton setBackgroundImage:[UIImage imageNamed:@"i_press.png"]
                                 forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)

上面的代码在iOS7中运行良好,但在iOS7.1中,这并没有改变UIButton的图像.我也尝试用setImage做这个但是没有用.

谢谢

Flo*_*Flo 9

以防万一其他人有同样的问题,需要另外提示如何解决这个问题:

我也有这个问题,最后发现如果按钮被禁用,设置按钮的(背景)图像在iOS 7.1上不起作用.

不确定这是否可以解决您的问题,但这是我的问题.setNeedsLayout不幸的是,打电话对我的案子没有帮助.您可以执行的解决方法是覆盖UIButton或添加包含如下方法的类别来设置图像:

- (void)setImage:(UIImage *)img forButtonState:(UIControlState)state
{
    BOOL shouldEnable = self.enabled;
    self.enabled = YES;
    [self setImage:img forState:state];
    self.enabled = shouldEnable;
}
Run Code Online (Sandbox Code Playgroud)

提交了此问题的错误报告(16497031).

  • 是的,当我尝试子类化`setImage:`时,某个原因,它只是使按钮区域变为蓝色.我可能错过了几乎凌晨5点的一步.无论哪种方式,背景适合我! (2认同)