首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IOS7.1中UIButton的setBackgroundImage不工作

IOS7.1中UIButton的setBackgroundImage不工作
EN

Stack Overflow用户
提问于 2014-03-18 23:54:57
回答 3查看 3.4K关注 0票数 2

我正在尝试更改按钮背景图像。这段代码在iOS6/7上运行良好。在我升级到iOS7.1之后,它突然停止了工作。

代码语言:javascript
复制
[monday setBackgroundImage:[UIImage imageNamed:@"toggleTopRight"] forState:UIControlStateNormal];

BWT:图像是ok的,因为在视图中调用的这段代码将会出现,这个ok在那里...当我按下需要更改setBackgroundImage的按钮时,它不工作。

EN

回答 3

Stack Overflow用户

发布于 2014-03-23 02:32:44

这是7.1 SDK和Xcode 5.1上的错误。

解决方法是在更改后调用UIButton setNeedsLayout。

这应该能起到作用。

票数 3
EN

Stack Overflow用户

发布于 2014-04-02 16:04:55

我也有同样的问题。我终于发现,如果按钮被禁用,设置按钮的(背景)图像在iOS 7.1上是不起作用的。

不知道这能不能解决你的问题,但这是我的问题。不幸的是,调用setNeedsLayout对我的情况没有帮助。作为一种解决办法,您可以覆盖UIButton,或者添加一个包含如下方法的类别来设置图像:

代码语言:javascript
复制
- (void)setBackgroundImage:(UIImage *)img forButtonState:(UIControlState)state
    BOOL shouldEnable = self.enabled;
    self.enabled = YES;
    [self setBackgroundImage:img forState:state];
    self.enabled = shouldEnable;
}

已为此问题提交错误报告(16497031)。

票数 1
EN

Stack Overflow用户

发布于 2014-11-19 02:34:57

对我来说,前景图像覆盖了背景图像。所以让你的前景图像透明,那么背景图像就会显示出来。设置背景图像现在实际上工作得很好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22484500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档