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

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

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




第二种方式创建:

用代码来创建关联:

,选中Refactor StoryBoard删除

添加一个UITabBarController

将MainViewController 和MainStoryBoard 关联


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

private fun  caddChildVc(storyName:String)

{

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

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

//将childVc作为子控制器

addChildViewController(childVc)

}

运行效果跟之前是一样的


代码优化:

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

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"])


运行效果一样:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,355评论 19 139
  • 1.将Main拖入Main的文件夹中 2.选择Main 删掉默认的View Controller 3.拖入一个 T...
    whong736阅读 1,560评论 0 0
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,196评论 4 61
  • “什么时候才能像高年级的同学有张成熟与长大的脸”。童年的时候脑袋瓜里好像都想着类似的东西。这首歌唱出了很多只会在内...
    虫鸣吹晚风阅读 1,118评论 0 1
  • 出差到荆州,上午公干结束,离下午的返程火车还有一段时间,决定去看看荆州古城。 我喜欢步行,心想用脚步丈量一下古城墙...
    藻华阅读 5,450评论 15 10