UITabBarController在故事板上方添加新的UIViewController(Swift)
问题描述:
我有一个连接到4个视图控制器的UITabBarController
故事板文件,我想以编程方式添加数字5。在Objective-C中,我的做法如下:UITabBarController在故事板上方添加新的UIViewController(Swift)
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
NSArray *tabs = self.viewControllers;
//set tab controllers
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:(@"Settings_Storyboard_iPad") bundle:nil];
AddFolderViewController *vc = [storyboard instantiateInitialViewController];
self.viewControllers = [NSArray arrayWithObjects:[tabs objectAtIndex:0], [tabs objectAtIndex:1], [tabs objectAtIndex:2], [tabs objectAtIndex:3], vc, nil];
}
在UITabBarController
的子类中。然而在Swift中,我似乎无法做到这一点。它不允许我访问制表符的索引,或者追加controller
。
答
override func viewDidLoad() {
super.viewDidLoad()
var viewControllers: [UIViewController] = self.viewControllers as! [UIViewController];
let storyboard : UIStoryboard = UIStoryboard(name:"Main", bundle: nil)
let thirdVC : ThirdViewController = storyboard.instantiateViewControllerWithIdentifier("ThirdVC") as! ThirdViewController
let icon1 = UITabBarItem(title: "Third", image:UIImage(named: "image.png"), selectedImage:UIImage(named: "otherImage.png"))
thirdVC.tabBarItem = icon1
viewControllers.append(thirdVC)
self.viewControllers = viewControllers
}