我创建了一个像下面这样的UITabBarController并推送了一个navigationController,但我现在无法设置标签栏项目的标题等......因为tabbarcontroller是NULL。
请告诉我我哪里出错了。
UITabBarController *tabBarController = [[UITabBarController alloc] init];
LoggedInFeedNavigationController *lvc = [[LoggedInFeedNavigationController alloc] initWithAccount:account];
[tabBarController setViewControllers:[NSArray arrayWithObject:lvc]];
[tabBarController setSelectedIndex:0];
[self presentModalViewController:tabBarController animated:YES];
[tabBarController release];
[lvc release];
答案 0 :(得分:6)
在tabBarController的documentation中,我看到以下内容
如果没有标签栏或者 接收器是模态视图,这个 财产是零。
在评论中,它表示你正在LoggedInFeedNavigationController
内调用self.tabBarController,我认为它应该可以正常工作。但是你以模态方式显示标签栏,如果文档意味着即使它在UITabBarController中作为模态视图,那么那就是你的问题。
答案 1 :(得分:0)
在我看来,就像你在没有完成它时释放标签栏控制器一样。你想初始化它一次,只有当你完成它时才会释放它,就像在dealloc方法中一样。
答案 2 :(得分:0)
这就是我根据Joe的答案和苹果文档来完成它的工作。 在YourTabBarViewController.h文件中添加以下内容:
@property (nonatomic, retain) UITabBarController * myTabBarController;
然后在viewDidLoad中的YourTabBarViewController.m文件中添加以下内容:
self.myTabBarController = self;
self.myTabBarController.delegate = self;