带有图像的 UIBarButtonItem 不显示
Posted
技术标签:
【中文标题】带有图像的 UIBarButtonItem 不显示【英文标题】:UIBarButtonItem with image doesn't show 【发布时间】:2015-04-22 10:23:43 【问题描述】:我正在尝试用image
设置UIBarButtonItem
。问题是它永远不会出现。当我只添加 UIBarButtonItem
和 title
时,它可以工作。
UIBarButtonItem *openLeftSliderButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"filter.png"] style:UIBarButtonItemStylePlain target:self action:@selector(openLeftSlider)];
self.navigationItem.leftBarButtonItem = openLeftSliderButton;
【问题讨论】:
您能否确认图片名称以及它是否存在于捆绑包中? 噢,我现在觉得自己好蠢。这个图标确实有另一个名字。添加图标的设计师将其重命名。 Appcode 向我建议了文件的名称,它刚刚编译。非常感谢。 @AadilKeshwani 将其作为答案,以便检查它是否正确。 我怎样才能回答这个问题? @dasdom 谢谢 没关系,我很高兴听到它有帮助。 【参考方案1】: UIImage *sideImage = [UIImage imageNamed:@"i1.jpg"];
UIButton *btnSideMenu = [UIButton buttonWithType:UIButtonTypeCustom];
[btnSideMenu setImage:sideImage forState:UIControlStateNormal];
[btnSideMenu setImage:sideImage forState:UIControlStateHighlighted];
[btnSideMenu setFrame:CGRectMake(0, 0, 20, 20)];
[btnSideMenu addTarget:self action:@selector(btnLeftMenuClicked) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *sideMenuItem = [[UIBarButtonItem alloc] initWithCustomView:btnSideMenu];
self.navigationItem.leftBarButtonItem=sideMenuItem;
【讨论】:
【参考方案2】:您可以使用initWithCustomView
创建UIBarButtonItem
_leftButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_leftButton setImage:[UIImage imageNamed:@"back"] forState:UIControlStateNormal];
[_leftButton addTarget:self action:@selector(leftButton:) forControlEvents:UIControlEventTouchUpInside];
[_leftButton sizeToFit];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:_leftButton];
【讨论】:
以上是关于带有图像的 UIBarButtonItem 不显示的主要内容,如果未能解决你的问题,请参考以下文章
带有纵向和横向图像的 UIBarButtonItem 可能会显示横向的纵向图像
UIBarButtonItem 图像未显示,但显示为红色方块