
在我的应用程序中,我有一个AppDelegate.在我的AppDelegate中,有一小段代码用于设置我的mainVIEwController:
- (voID)setupOverlordVIEwController{ MainVIEwController *rootVC = [[MainVIEwController alloc] initWithNibname:nil bundle:nil]; UINavigationController *navVC = [[UINavigationController alloc] initWithRootVIEwController:rootVC]; self.window.rootVIEwController = navVC;} 我在MainVIEwController中设置我的标签:
- (voID)vIEwDIDLoad{ UIVIEwController *tabVIEw1 = [[Tab1VIEwController alloc] init]; UIVIEwController *tabVIEw2 = [[Tab2VIEwController alloc] init]; UIVIEwController *tabVIEw3 = [[Tab3VIEwController alloc] init]; NSMutableArray *tabVIEwControllers = [[NSMutableArray alloc] init]; [tabVIEwControllers addobject:tabVIEw1]; [tabVIEwControllers addobject:tabVIEw2]; [tabVIEwControllers addobject:tabVIEw3]; [self setVIEwControllers:tabVIEwControllers]; tabVIEw1.tabbarItem = [[UITabbarItem alloc] initWithTitle:NSLocalizedString(@"TabVIEw1",nil) image:[UIImage imagenamed:@"tabVIEw1.png"] tag:1]; tabVIEw2.tabbarItem = [[UITabbarItem alloc] initWithTitle:NSLocalizedString(@"TabVIEw2",nil) image:[UIImage imagenamed:@"tabVIEw2.png"] tag:2]; tabVIEw3.tabbarItem = [[UITabbarItem alloc] initWithTitle:NSLocalizedString(@"TabVIEw3",nil) image:[UIImage imagenamed:@"tabVIEw3.png"] tag:3];} 每个视图(tabVIEw1,tabVIEw2,tabVIEw3)都有自己的布局,在VIEw的VIEwDIDLoad方法中设置.当我想通过在VIEwDIDLoad方法中添加导航按钮时在导航栏中添加导航按钮,但似乎无法添加按钮.添加它们的唯一方法是直接在我的MainVIEwController中,但是我不能设置导航栏按钮不同的foreach选项卡.
将按钮添加到导航栏的代码如下:
UIbarbuttonItem *btnNewRecord = [[UIbarbuttonItem alloc] initWithbarbuttonSystemItem:UIbarbuttonSystemItemAdd target:self action:@selector(btnNewRecord)];NSArray *rightItems = [NSArray arrayWithObjects:btnNewRecord,nil];[self.navigationItem setRightbarbuttonItems:rightItems];
有人可以解释一下我做错了什么吗?
解决方法 我已经使用xib文件为您创建了一个示例.我创建了三个视图控制器并将它们添加到导航控制器.在appdelegate代码之后:- (BOol)application:(UIApplication *)application dIDFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ FirstVIEwController *firstVC = [[FirstVIEwController alloc] initWithNibname:@"FirstVIEw" bundle:nil]; UINavigationController *firstNavVC = [[UINavigationController alloc] initWithRootVIEwController: firstVC]; SecondVIEwController *secondVC = [[SecondVIEwController alloc] initWithNibname:@"SecondVIEw" bundle:nil]; UINavigationController *secondNavVC = [[UINavigationController alloc] initWithRootVIEwController: secondVC]; ThirdVIEwController *thirdVC = [[ThirdVIEwController alloc] initWithNibname:@"ThirdVIEw" bundle:nil]; UINavigationController *thirdNavVC = [[UINavigationController alloc] initWithRootVIEwController: thirdVC]; NSMutableArray *tabVIEwControllers = [[NSMutableArray alloc] init]; [tabVIEwControllers addobject:firstNavVC]; [tabVIEwControllers addobject:secondNavVC]; [tabVIEwControllers addobject:thirdNavVC]; firstNavVC.tabbarItem = [[UITabbarItem alloc] initWithTitle:NSLocalizedString(@"First",nil) image:nil tag:1]; secondNavVC.tabbarItem = [[UITabbarItem alloc] initWithTitle:NSLocalizedString(@"Second",nil) image:nil tag:2]; thirdNavVC.tabbarItem = [[UITabbarItem alloc] initWithTitle:NSLocalizedString(@"Third",nil) image:nil tag:3]; UITabbarController *tabbarController = [[UITabbarController alloc] init]; tabbarController.vIEwControllers = tabVIEwControllers; self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; self.window.rootVIEwController = tabbarController; [self.window makeKeyAndVisible]; return YES;} 以下是输出:
您可以下载代码示例here
总结以上是内存溢出为你收集整理的iOS 7:标签栏控制器的不同导航项全部内容,希望文章能够帮你解决iOS 7:标签栏控制器的不同导航项所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)