我已经按照Apple推荐的方式以编程方式实现了UITabBar,但我无法显示标题。以下是我如何实现它:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UITabBarController *tabBarController = [[UITabBarController alloc] init];
MainViewController *mainViewController = [[MainViewController alloc] init];
UINavigationController *mainNavigationController = [[UINavigationController alloc] initWithRootViewController: mainViewController];
[[mainNavigationController navigationBar] setBarStyle: UIBarStyleBlack];
[tabBarController setViewControllers: [NSArray arrayWithObjects: mainNavigationController, nil]];
[self.window setRootViewController: tabBarController];
[self.window makeKeyAndVisible];
[mainViewController release];
[mainNavigationController release];
[tabBarController release];
return YES;
}
这是mainViewController的init方法,我在其中添加标题:
@implementation MainViewController
- (id) init
{
self = [super initWithNibName: nil bundle: nil];
if (self)
{
UITabBarItem *tabBarItem = [[UITabBarItem alloc] initWithTitle:@"Main" image: nil tag: 1];
[self setTabBarItem: tabBarItem];
[tabBarItem release];
}
return self;
}
我注意到这里有很多其他问题,而且有一些有hacky类型的解决方案,但我想知道Apple是否推荐这种方式,为什么它不起作用?
答案 0 :(得分:1)
这可以通过多种方式完成。最简单的方法是尝试设置
self.title = @"Main";
这应该反映在您的navigationBar
标题和tabBarItem
标题中。
或者,您可以将它们连接到界面构建器并自行键入并正确连接插座。