美文网首页APP 的编程学习
3.搭建项目基本框架

3.搭建项目基本框架

作者: whong736 | 来源:发表于2017-05-24 07:49 被阅读15次

    1.将Main拖入Main的文件夹中

    2.选择Main 删掉默认的View Controller

    3.拖入一个 Tab Bar Controller

    拖入后显示

    4.设置拖入的Tab Bar Controller为默认启动控制器

    5.默认拖入Tab bar 是没有上导航栏的,我们要给他们加上一个上导航栏

    6.添加上导航栏效果:

    7.我们下导航栏需要4个,需要再复制两个

    8.设置相同的控制器

    鼠标右键弹出

    运行看效果:

    10.设置item的显示,先选中item,双击item,修改文字,

    11.导入图标,图标可划分文件夹进行导入Assets.xcassets

    12.设置item 图标和修改item名字为home

    1.到Assets 中拷贝需要设置的默认图标名,双击拷贝

    2.设置itme名字,和输入图标名,回车显示

    同理设置其他的item的名字和图标,设置完后,运行程序

    13.设置item的图标的显示颜色:

    1.AppDelegate全局修改Tab Bar 的颜色

    //应用启动时,全局修改UITabBar的颜色,设置为橘色

    UITabBar.appearance().tintColor = UIColor.orange

    14.重新运行程序

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

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

    创建选择文件夹的时候选择Base.lproj,在最后一步拖到对应文件夹中

    第二种方式创建:

    用代码来创建关联:

    ,选中Refactor StoryBoard删除

    在Main文件夹添加一个UITabBarController

    添加一个UITabBarController

    将MainViewController 和MainStoryBoard 关联

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

    private  func   addChildVc(storyName:String)

    {

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

    let childVc =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"])

    运行效果一样:

    相关文章

      网友评论

        本文标题:3.搭建项目基本框架

        本文链接:https://www.haomeiwen.com/subject/flknxxtx.html