选项卡栏图标不出现(这些有啥限制?)

Posted

技术标签:

【中文标题】选项卡栏图标不出现(这些有啥限制?)【英文标题】:Tab Bar Icon does not appear (what are the restrictions on these?)选项卡栏图标不出现(这些有什么限制?) 【发布时间】:2012-07-20 01:12:44 【问题描述】:

嗯,这无疑是愚蠢的,但我无法显示我的标签栏图标。

代码如下:

- (id) initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

// Misc stuff deleted
[self.nibBundle loadNibNamed:nibNameOrNil owner:self options:nibOptions];

if (self) 
    self.title = NSLocalizedString(@"Play Game", @"Play Game");
    self.tabBarItem.image = [UIImage imageNamed:@"GVC.png"];


[self awakeFromNib];
return self;

如果我给它一个太大图标的名字,系统会插入一个蓝色占位符。所以我认为我的代码很好(看起来和其他人一样)。

这适用于 ios 5,我有一个非视网膜显示屏。 我尝试过各种尺寸,包括理想的 30 x 30 尺寸。顺便说一句,所有其他图标和图像都正常运行。这些图标列在 Icon Files (iOS 5) -> Primary Icon -> Icon Files 下的 plist 中,名称包括 .png 如果我更改“玩游戏”,则应用程序会相应更改。 我一直在使用 Inkscape 制作图标。

所以我的问题是

    一般有什么想法吗?并且, 标签栏图标有什么限制?

我知道尺寸,我猜它一定是黑白的,但很难找到这样说的文档。名称有任何限制,必须是正方形还是矩形等?我也读过它们必须像 alpha 蒙版一样使用,但我不确定在制作图像时这真正意味着什么。

【问题讨论】:

【参考方案1】:

就像我说的,傻。我没有从 Xcode 中将图标添加到项目中......也许这会帮助其他一些傻瓜!

【讨论】:

【参考方案2】:

检查文件名。设备区分大小写,模拟器不区分。

还可以查看以下帖子以获取更多信息: UITabBar images visible on simulator, disappear on the device

【讨论】:

【参考方案3】:

我遇到了同样的问题,就这样解决了。

例如,我有一个应用程序包含多个选项卡。其中之一是 CardViewController。图像是卡片,选项卡的名称是“卡片”。我将这些代码添加到 CardViewController 中。在这里,您确保图像已设置。进行此更改后,图像应该会显示出来。

required init?(coder aDecoder: NSCoder) 
    super.init(coder: aDecoder)

    // Initialize Tab Bar Item
    tabBarItem = UITabBarItem(title: "Cards", image: UIImage(named: "cards"), tag: 0)

【讨论】:

以上是关于选项卡栏图标不出现(这些有啥限制?)的主要内容,如果未能解决你的问题,请参考以下文章

在更多选项卡上时,iOS 7 选项卡栏图标暂时消失

使用免费 PNG 图标时选项卡栏项目过大

视图控制器更改选项卡栏图标和操作

获取 Xamarin.Forms 上 TabbedPage 的本机 iOS 系统选项卡栏图标

使用 PaintCode 2 StyleKit 支持 @3x、@2x 选项卡栏图标

React-native-navigation 选项卡栏中心圆圈图标