导航栏和TabBar结合的项目,在我们平常开发中会经常看到,下面我们通过自定义的TabBar来实现一个导航和TabBar结合的Demo。

1.自定义TabBar

import UIKit

class GofTabBarController: UITabBarController
{
override func viewDidLoad()
{
super.viewDidLoad(); addTabBarChildViewController(GofMainViewController(), title: "首页", imageName: "tab_home", selectedImageName: "tab_home_sel", tag: );
addTabBarChildViewController(GofDrugViewController(), title: "药品列表", imageName: "tab_drug", selectedImageName: "tab_drug_sel", tag: );
addTabBarChildViewController(GofShopcartViewController(), title: "购物车", imageName: "tab_shopcart", selectedImageName: "tab_shopcart_sel", tag: );
addTabBarChildViewController(GofMyViewController(), title: "我的", imageName: "tab_my", selectedImageName: "tab_my_sel", tag: );
} private func addTabBarChildViewController(childVC: UIViewController, title: String, imageName: String, selectedImageName: String, tag: Int)
{
let vcItem = UITabBarItem(title: title, image: gof_ImageWithName(imageName), selectedImage: gof_ImageWithName(selectedImageName)?.imageWithRenderingMode(.AlwaysOriginal));
vcItem.tag = tag;
childVC.tabBarItem = vcItem; let navigationVC = UINavigationController(rootViewController: childVC);
addChildViewController(navigationVC);
} override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem)
{
printLog("didSelectIndex:\(item.tag)");
}
}

2.怎么使用?

let vc = GofTabBarController();
self.window?.rootViewController = vc;

32.怎样在Swift中实现TabBar和导航视图结合的项目?的更多相关文章

  1. Swift微博项目--Swift中通过类名字符串创建类以及动态加载控制器的实现

    Swift中用类名字符串创建类(用到了命名空间) OC中可以直接通过类名的字符串转换成对应的类来操作,但是Swift中必须用到命名空间,也就是说Swift中通过字符串获取类的方式为NSClassFro ...

  2. 在Swift中应用Grand Central Dispatch(下)

    在第一部分中, 你学到了并发,线程以及GCD的工作原理.通过使用dispatch_barrrier和dispatch_sync,你做到了让 PhotoManager单例在读写照片时是线程安全的.除此之 ...

  3. iOS开发零基础--Swift篇:Swift中数据类型

    Swift类型的介绍 Swift中的数据类型也有:整型/浮点型/对象类型/结构体类型等等 先了解整型和浮点型 整型 有符号 Int8 : 有符号8位整型 Int16 : 有符号16位整型 Int32 ...

  4. Swift 中的函数

    学习来自<极客学院:Swift中的函数> 工具:Xcode6.4 直接上基础的示例代码,多敲多体会就会有收获:百看不如一敲,一敲就会 练习一: import Foundation //函数 ...

  5. Swift中使用构建配置来支持条件编译-b

    在Objective-C中,我们经常使用预处理指令来帮助我们根据不同的平台执行不同的代码,以让我们的代码支持不同的平台,如: 1 2 3 4 5 6 7 8 9 #if TARGET_OS_IPHON ...

  6. Swift中UIView类方法(animateWithDuration)的使用

    需求:利用Swift语言实现OC语言中UIView类方法 [UIView animateWithDuration:0.5 animations:^{ bgView.alpha= 1; }]; 在Swi ...

  7. 总结 Swift 中随机数的使用

    在我们开发的过程中,时不时地需要产生一些随机数.这里我们总结一下Swift中常用的一些随机数生成函数.这里我们将在Playground中来做些示例演示. 整型随机数 如果我们想要一个整型的随机数,则可 ...

  8. Swift中字符串转化为Class的方法

    Swift中字符串转化为Class的方法 在开发中有时候会根据字符串进行对应类的转化,这样我们就可以动态根据服务器返回的字段,动态的加载类,比如优酷,微博等APP会在节假日等动态的TabBar.这样可 ...

  9. Swift 中枚举

    Swift 中枚举高级用法及实践 字数11017 阅读479 评论0 喜欢20 title: "Swift 中枚举高级用法及实践"date: 2015-11-20tags: [AP ...

随机推荐

  1. Heritrix源码分析(五) 如何让Heritrix在Ecplise等IDE下编程启动(转)

    本博客属原创文章,欢迎转载!转载请务必注明出处:http://guoyunsky.iteye.com/blog/642550      本博客已迁移到本人独立博客: http://www.yun5u. ...

  2. Java核心技术II读书笔记(一)

    Char2 XML 解析器:读入一个文件,确认其具有正确的格式,然后将其分解成各种元素,使程序员能够访问这些元素. java库提供了两种XML解析器:DOM和SAX,即文档对象模型和流机制解析器. D ...

  3. vs2010 please select a valid location in the repository

    vs2010 please select a valid location in the repository AnkhSvn版本有问题,我后来使用2.1就ok了记录一下

  4. POI取消科学计数法

    前台输入手机号13777777777,如果是为Double类型接收,就会自动转为科学计数法 找了下,一般是Double转String,方法一般有两种: 1.利用String.format() sale ...

  5. duilib List控件,横向滚动时列表项不移动或者显示错位的bug的修复

    转载请说明出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/42264673 关于这个bug的修复我之前写过一篇博客,连接为:http:/ ...

  6. Android 数独游戏 记录

    Android图形编程基本概念 颜色对象 Color 类 int color = Color.bule    //蓝色 int color = Color.argb(255,255,255,255); ...

  7. scala初学

    起因:新公司的程序用scala,为了不落后,不落伍,跟上时代的浪潮,咱们测试也得学学新东西 适合读者:有java经验的IT人士 scala:所有变量都是对象,所有操作都是方法 1.定义变量:变量:类型 ...

  8. QQ群聊天记录文件分割

    嗯,如题 是个蛋疼物 目前QQ的聊天记录导出功能很让人郁闷 三种聊天记录格式的导出 1  TXT   没图 2  BAK  只能再导入QQ使用 3  MHT 有图有字,缺点是一旦聊天记录很多,文件体积 ...

  9. gem 安装&卸载pod

    安装: gem 应该是ruby自带的ruby包管理器 sudo gem install cocoapods 卸载: sudo gem uninstall cocoapods

  10. Ubuntu 创建开机自启动脚本的方法

    http://askubuntu.com/questions/9382/how-can-i-configure-a-service-to-run-at-startuphttp://stackoverf ...