2012-07-20 65 views
0

嗯,这无疑是愚蠢的,但我无法让我的标签栏图标显示出来。标签栏图标不会出现(这些限制是什么?)

下面是代码:

- (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尺寸。顺便说一句,所有其他图标&图像正常运行。这些图标列在plist下的图标文件(iOS 5) - >主要图标 - >图标文件,名称中包含.png如果我更改“Play Game”,则应用会相应更改。 我一直在使用Inkscape来制作图标。

所以我的问题是

  1. 任何想法一般?和,
  2. 对标签栏图标有什么限制?

我知道大小,我收集它必须是黑白,但很难找到说明如此的文档。任何名称上的限制,必须是正方形或可以是矩形等?我也读过,他们必须像一个阿尔法面具一样使用,但我不知道当我制作图像时,这意味着什么。

回答

0

正如我所说,愚蠢。我没有将图标添加到Xcode中的项目中......也许这会帮助其他一些混球!

0

我有同样的问题,并解决它这个样子。

例如,我有一个应用程序包含多个选项卡。其中之一是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) 
}