将一个复杂的Storyboard拆分成多个Storyboard

将下面的多个关系的Stroybord拆分:

将一个复杂的Storyboard拆分成多个Storyboard_第1张图片

选中需要拆分的部分,选择Editor,中的 Refactor to Storyboard

将一个复杂的Storyboard拆分成多个Storyboard_第2张图片



将一个复杂的Storyboard拆分成多个Storyboard_第3张图片


第二种方式创建:

用代码来创建关联:

,选中Refactor StoryBoard删除

添加一个UITabBarController

将一个复杂的Storyboard拆分成多个Storyboard_第4张图片

将MainViewController 和MainStoryBoard 关联


//抽象一个添加Storyboard的方法

private fun  caddChildVc(storyName:String)

{

//1.通过StoryBoard获取控制器,!解包

letchildVc =UIStoryboard(name: storyName, bundle:nil).instantiateInitialViewController()!

//将childVc作为子控制器

addChildViewController(childVc)

}

将一个复杂的Storyboard拆分成多个Storyboard_第5张图片

运行效果跟之前是一样的

将一个复杂的Storyboard拆分成多个Storyboard_第6张图片


代码优化:

这里添加控制器,是要添加首页,直播,关注,我的四个控制器,分别要调用

private fun  caddChildVc(storyName:String) 四次

addChildVc(storyName:"Home")

addChildVc(storyName:"Live")

addChildVc(storyName:"Follow")

addChildVc(storyName:"Profile")

这里可以抽象一下传入一个数组:

//定义添加子控制器的方法,通过StoryBoard获取控制器,强制解包,传入一个数组

private func addChilVC(storyNames : [String]){

forstoryNameinstoryNames{

let chilVC =UIStoryboard(name: storyName, bundle:nil).instantiateInitialViewController()!

//将chilVC作为子控制器

addChildViewController(chilVC)

} }

调用一次:

addChilVC(storyNames: ["Home","Live","Follow","Profile"])


将一个复杂的Storyboard拆分成多个Storyboard_第7张图片

运行效果一样:

你可能感兴趣的:(将一个复杂的Storyboard拆分成多个Storyboard)