按钮的图像集保持空白/白色

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生成指定大小的空白的白色图(故意保存)实战:当然也可以保存正常的有内容的图像

dom-to-image 仅从 html 生成空白的白色图像

从图像中删除所有空白区域

PHP - 检测图像周围空白的真正快速方法?