尽管其他按钮图像在其位置,但未显示按钮图像

Posted

技术标签:

【中文标题】尽管其他按钮图像在其位置,但未显示按钮图像【英文标题】:Button image not displayed although others are in its place 【发布时间】:2011-08-24 12:31:45 【问题描述】:

我有一个 .png 图像,我试图将其显示为 UIBarButtonItem 。这是语法:

_gotoButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"btn_info.png"]
                                                   style:UIBarButtonItemStylePlain
                                                  target:self action:@selector(gotoAction)];

问题是,当我尝试显示此图像时,在它的位置,有一个与照片大小相同的白色矩形。

奇怪的是,当我尝试加载其他图像时,它可以工作。

我的第一个想法是格式不正确,但后来我使用了一个在线转换器,它仍然无法正常工作。可能是什么问题?

【问题讨论】:

【参考方案1】:

UIBarButtonItem 上的图像仅适用于单色(类似于标签栏图像)。

其他选项可以使用 UIBarButtonItemStyleCustom 并将 UIImageview 设置为按钮的自定义视图。

【讨论】:

【参考方案2】:

您可能需要创建一个带有图像的自定义按钮,并使用 barbuttonitem 的 initWithCustomView: 方法..

    UIButton *bButton = [UIButton buttonWithType:UIButtonTypeCustom];
    [bButton setImage:[UIImage imageNamed:@"btn_info.png"] forState:UIControlStateNormal];
    bButton.frame = CGRectMake(278,7, 32, 30);  
   [bButton addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];

    UIBarButtonItem *questionButton = [[UIBarButtonItem alloc]
                                       initWithCustomView:bButton];
    [questionButton setStyle:UIBarButtonItemStylePlain];

【讨论】:

【参考方案3】:imageNamed: 方法中检查文件名的拼写。 在外部查看器中打开图像,例如预览并检查 它看起来像你想要的那样。尤其要检查 Alpha 通道。

【讨论】:

【参考方案4】:

确保您也已将图像文件添加到您的 Xcode 项目中。

【讨论】:

以上是关于尽管其他按钮图像在其位置,但未显示按钮图像的主要内容,如果未能解决你的问题,请参考以下文章

表单按钮显示在模拟器中但未在智能设备中显示

在图像上添加按钮并将图像发送到服务器。从服务器获取图像后,在完全相同的位置显示按钮

如何制作带有图像的按钮?

如何让用户在 WPF 中使用画布绘制线条

Xcode 7.3.1:将背景图像设置为 UINavigationBar 并显示返回按钮

如何在按钮上显示图像? -迅速