簡體   English   中英

當UITabBar不是rootViewController時,如何以編程方式鏈接具有NIB的其他ViewControllers的UITabBar

[英]How to programmatically link UITabBar with Different ViewControllers with NIBs when UITabBar is NOT rootViewController

我有一個tableViewController,一旦在一個單元格上點擊它,便會將您FirstViewController FirstViewController。FirstViewController具有一個帶有4個項目的UITabBar。 我想以編程方式將每個按鈕/項目都掛接到我的項目中已經存在的viewController中。

我做了很多研究,但是還沒有找到解決這個問題的方法

到目前為止FirstViewController, SecondViewController, ThirdViewController, FourthViewController我所擁有的是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筆尖

假設每個UIViewController子類都有一個關聯的.xib (nib),然后使用指定的初始化程序。

代替[[FirstViewController alloc] init]對每個相應的視圖控制器使用initWithNibName:bundle [[FirstViewController alloc] init]

例子-

[[FirstViewController alloc] initWithNibName:@"nameOfNibFile" bundle:nil];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM