嗯,这无疑是愚蠢的,但我无法显示我的标签栏图标。
以下是代码:
- (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尺寸。顺便说一下,所有其他图标&图像正常运行。图标列在图标文件(iOS 5) - >下的plist中。主要图标 - >图标文件,名称包括.png如果我更改“播放游戏”,应用程序会相应更改。 我一直在使用Inkscape制作图标。
所以我的问题是
- 一般的想法?和,
- 标签栏图标有哪些限制?
醇>
我知道大小,我认为它必须是b / w但很难找到说明的文档。名称的任何限制,必须是正方形还是矩形等?我也读过它们必须像alpha蒙版一样使用但是我不确定当我制作图像时这意味着什么。
答案 0 :(得分:0)
正如我所说,傻。我没有在Xcode中添加图标到项目......也许这会有助于其他一些混蛋球!
答案 1 :(得分:0)
检查文件名。设备区分大小写,模拟器不是。
另请查看以下帖子以获取更多信息: UITabBar images visible on simulator, disappear on the device
答案 2 :(得分: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)
}