尽管其他按钮图像在其位置,但未显示按钮图像
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 项目中。
【讨论】:
以上是关于尽管其他按钮图像在其位置,但未显示按钮图像的主要内容,如果未能解决你的问题,请参考以下文章
在图像上添加按钮并将图像发送到服务器。从服务器获取图像后,在完全相同的位置显示按钮