將下面的多個(gè)關(guān)系的Stroybord拆分:

選中需要拆分的部分,選擇Editor,中的 Refactor to Storyboard


第二種方式創(chuàng)建:
用代碼來創(chuàng)建關(guān)聯(lián):
,選中Refactor StoryBoard刪除
添加一個(gè)UITabBarController

將MainViewController 和MainStoryBoard 關(guān)聯(lián)

//抽象一個(gè)添加Storyboard的方法
private fun ?caddChildVc(storyName:String)
{
//1.通過StoryBoard獲取控制器,!解包
letchildVc =UIStoryboard(name: storyName, bundle:nil).instantiateInitialViewController()!
//將childVc作為子控制器
addChildViewController(childVc)
}

運(yùn)行效果跟之前是一樣的

代碼優(yōu)化:
這里添加控制器,是要添加首頁,直播,關(guān)注,我的四個(gè)控制器,分別要調(diào)用
private fun? caddChildVc(storyName:String) 四次
addChildVc(storyName:"Home")
addChildVc(storyName:"Live")
addChildVc(storyName:"Follow")
addChildVc(storyName:"Profile")
這里可以抽象一下傳入一個(gè)數(shù)組:
//定義添加子控制器的方法,通過StoryBoard獲取控制器,強(qiáng)制解包,傳入一個(gè)數(shù)組
private func addChilVC(storyNames : [String]){
forstoryNameinstoryNames{
let chilVC =UIStoryboard(name: storyName, bundle:nil).instantiateInitialViewController()!
//將chilVC作為子控制器
addChildViewController(chilVC)
} }
調(diào)用一次:
addChilVC(storyNames: ["Home","Live","Follow","Profile"])

運(yùn)行效果一樣: