我有一个tableViewController,一旦点击一个单元格就会带你到FirstViewController
FirstViewController有一个带有4个项目的UITabBar。我想以编程方式将每个按钮/项挂钩到我的项目中已存在的viewController。
我做了很多研究,但没有找到解决这个问题的东西
到目前为止我所拥有的是FirstViewController, SecondViewController, ThirdViewController, FourthViewController
FirstViewController.xib
中的我有4个图标的TabBar。
FirstViewController.h
@property (strong, nonatomic) IBOutlet UITabBarController *tabBarController;
@property (weak, nonatomic) IBOutlet UITabBarItem *tabBar;
@property (weak, nonatomic) IBOutlet UITabBarItem *firstItem;
@property (weak, nonatomic) IBOutlet UITabBarItem *secondItem;
@property (weak, nonatomic) IBOutlet UITabBarItem *thirdItem;
@property (weak, nonatomic) IBOutlet UITabBarItem *fourthItem;
FirstViewController.m
- (void)viewDidLoad {
FirstViewController *first = [[FirstViewController alloc] init];
SecondViewController *second = [[SecondViewController alloc] init];
ThirdViewController *third = [[ThirdViewController alloc] init];
FourthViewController *fourth = [[FourthViewController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObject: first, second, third, fourth, nil];
}
当我在第四个按钮上选中时,此代码不起作用,例如它没有显示fourthViewController
笔尖
答案 0 :(得分:1)
假设每个 UIViewController 子类都有一个关联的 .xib (nib),那么请使用指定的初始化器。
而不是[[FirstViewController alloc] init]
而是为每个相应的视图控制器使用 initWithNibName:bundle:。
示例 -
[[FirstViewController alloc] initWithNibName:@"nameOfNibFile" bundle:nil];