我在IB中有一组UIButtons。我想在每轮教育游戏中随机添加图像到几个按钮。
您可以在页面顶部看到一些图像隐藏起来:
如您所见,按钮中的图像为蓝色。那么,我做错了什么(也就是为什么他们是蓝色的?)?它们被设置为背景图像吗?
我按照以下方式添加图片:
int tmpTag0 = [[currentButtonArray objectAtIndex:0] integerValue];
UIButton *tmpButton0 = (UIButton *)[self.view viewWithTag:tmpTag0];
[tmpButton0 setImage:[UIImage imageNamed:temp1] forState:UIControlStateNormal];
........
int tmpTag4 = [[currentButtonArray objectAtIndex:4] integerValue];
UIButton *tmpButton4 = (UIButton *)[self.view viewWithTag:tmpTag4];
[tmpButton4 setImage:[UIImage imageNamed:temp5] forState:UIControlStateNormal];
currentButtonArray是一个包含5个随机按钮索引的数组,对应于5个按钮标记。
非常感谢任何想法。
我在Xcode帮助中查找UIButton时看到的内容:
更新: 在下面的人的帮助下,这对我有用:
int tmpTag0 = [[currentButtonArray objectAtIndex:0] integerValue];
UIButton *tmpButton0 = (UIButton *)[self.view viewWithTag:tmpTag0];
UIImage *buttonImage0 = [UIImage imageNamed:temp1];
buttonImage0 = [buttonImage0 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
[tmpButton0 setImage:buttonImage0 forState:UIControlStateNormal];
答案 0 :(得分:5)
我quote:
使用“图像”字段,您可以指定要在图像中显示的图像 你按钮的内容。 ...请注意,此图像将自动显示 除非您明确说明,否则在按钮内呈现为模板图像 将其渲染模式设置为UIImageRenderingModeAlwaysOriginal。
所以,可能:
UIImage *image = [[UIImage imageNamed:temp5]
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
[tmpButton4 setImage:image ...
(等)
答案 1 :(得分:0)
在我看来,更优雅的选项可能是转到界面构建器中的UIButton
属性检查器,然后选择Custom
下的Type
。如果您保留按钮的默认System
类型,则仅显示您所指的蓝色版本。您可以像往常一样通过代码或在界面构建器内初始化按钮。