按钮的图像集保持空白/白色
Posted
技术标签:
【中文标题】按钮的图像集保持空白/白色【英文标题】:The image set for button stays blank/white 【发布时间】:2017-04-12 08:13:55 【问题描述】:我想要做的是在单击按钮时更改图像。此按钮效果很好,但我的按钮中的图像保持空白。我在发帖前做了一些认真的研究。
我首先看到了这个Setting an image for a UIButton in code。虽然我不确定我的图像是否为零,但我关注了this instruction,这证实了我的图像不是零。我什至did this 并再次确保图片存在于 Assets 文件夹中。
这是我从控制台获得的信息:
2017-04-12 15:57:00.826779+0800 UIImage: 0x170284a10, 64, 64
2017-04-12 15:57:00.976058+0800 UIImage: 0x1702808c0, 64, 64
2017-04-12 15:57:01.110049+0800 UIImage: 0x170285140, 64, 64
2017-04-12 15:57:01.275860+0800 UIImage: 0x170280910, 64, 64
我有这个:
在.h文件中
- (IBAction)powerButtonAction:(UIButton*)sender;
@property (weak, nonatomic) IBOutlet UIButton *powerButton;
在.m文件中
- (IBAction)powerButtonAction:(UIButton*)sender
if (sender.selected)
UIImage *powerButtonImage = [UIImage imageNamed:@"power_off.png"];
[powerButton setImage:powerButtonImage forState:UIControlStateNormal];
[self.view addSubview:powerButton];
NSLog(@"%@",powerButtonImage);
[selectedDevice setPower:powerButton.selected];
sender.selected = NO;
else
UIImage *powerButtonImage = [UIImage imageNamed:@"power_on.png"];
[powerButton setImage:powerButtonImage forState:UIControlStateSelected];
[self.view addSubview:powerButton];
NSLog(@"%@",powerButtonImage);
[selectedDevice setPower:!powerButton.selected];
sender.selected = YES;
【问题讨论】:
检查一次***.com/questions/16909753/… 您是在资产中插入图片还是在支持文件中添加图片请确认 如果它在评估中,那么在power_on.png
这个地方直接使用power_on
我检查了链接并进行了更改,仍然有同样的问题。我将图像添加到 Assets.xcassets 文件夹中。我的应用中还有其他运行良好的图片。
为什么不为选择按钮状态的电源按钮设置图像?尝试使用 [powerButton setImage:powerButtonImage forState:UIControlStateSelected] 为按钮的选定状态设置图像;
【参考方案1】:
您可以使用故事板实现此目的
最简单的方法
【讨论】:
【参考方案2】:您只需更改这些行
-(void)viewDidLoad
UIImage *powerButtonImage = [UIImage imageNamed:@"power_off.png"];
[powerButton setImage:powerButtonImage forState:UIControlStateNormal];
UIImage *powerButtonImage2 = [UIImage imageNamed:@"power_on.png"];
[powerButton setImage:powerButtonImage2 forState:UIControlStateSelected];
[self.view addSubview:powerButton];
- (IBAction)powerButtonAction:(UIButton*)sender
sender.selected = !sender.selected;
【讨论】:
这是@Prince 的建议,我进行了更改,但图像仍然保持白色/白色。我觉得奇怪的是,我的控制台向我显示图像在那里。 64, 64 是我的图片大小。 @F.Chen 如果我以前的答案不起作用,请尝试我的新答案一次【参考方案3】:它认为你应该添加框架
powerButton.frame =CGRectMake(x, y , width, height);
【讨论】:
以上是关于按钮的图像集保持空白/白色的主要内容,如果未能解决你的问题,请参考以下文章
尽管设置了安全区域指南,但使用 XIB 显示的白色区域仍然显示空白区域
matplotlib生成指定大小的空白的白色图(故意保存)实战:当然也可以保存正常的有内容的图像