【发布时间】:2013-02-27 12:11:47
【问题描述】:
我有一个针对 ios 6 的通用选项卡式应用程序,带有 4 个选项卡。几乎准备好发布了,我开始寻找支持 iAds 的最新和最好的方法。在查看了 Apple 的 iAdSuite 演示项目后,似乎使用 BannerViewController 来包装我的 4 个 UIViewController 是完美的解决方案。
而且它在正确显示 iAd 方面表现出色。
但是,自从进行更改后,我的标签栏不再显示图像/图标。我逐行浏览了 BannerViewController 代码,但看不到任何似乎覆盖图像设置的内容。
我所做的更改是:
- 将 BannerViewController.h & .m 添加到我的项目中。
- #import
在我的 4 个 UIViewController 中的每一个中。 - 修改设置我的标签视图控制器的 AppDelegate 代码,使其发生变化:
来自
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.delegate = self;
self.tabBarController.viewControllers = @[viewController1, viewController2, viewController3, viewController4];
到
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.delegate = self;
self.tabBarController.viewControllers = @[
[[BannerViewController alloc] initWithContentViewController:viewController1],
[[BannerViewController alloc] initWithContentViewController:viewController2],
[[BannerViewController alloc] initWithContentViewController:viewController3],
[[BannerViewController alloc] initWithContentViewController:viewController4]
];
在我的 4 个视图控制器中,我在 initWithNibName 方法中有以下代码(带有适当的标题和图像名称:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.title = NSLocalizedString(@"Library", @"Library");
self.tabBarItem.image = [UIImage imageNamed:@"96-book"];
}
return self;
}
使用原始代码,标题和图像按预期工作。使用修改后的代码,我得到标题但没有图像,只有一个黑色按钮。有没有人遇到过这种情况?
请注意,我在 Apple 示例应用程序中尝试过此操作,但也无法在其中显示图像,示例应用程序针对 iOS5,而我的应用程序针对 iOS6。
【问题讨论】:
标签: ios xcode ios6 iad uitabbaritem