swift 2.0 与 OC 相比较,标签栏和导航栏书写的差别
下面是swift书写的时候的两个方法,其实这里不是教大家怎么样写的这个问题,我是想通过这两个不同语言的进行的一个比较,向大家找他们之间“想法”上的一些相同点,这样子我们学习swift的时候,就可以更加的游刃有余。我们熟悉OC这门语言,找到他么想法上的相同点了,你也就可以利用OC来学习swift了。
private func addChildViewControllers() {
tabBar.tintColor = UIColor.orangeColor()
zxaddChildViewController(HomeViewController(), title: "首页", imageName: "tabbar_home")
zxaddChildViewController(MessageViewController(), title: "消息", imageName: "tabbar_message_center")
zxaddChildViewController(DiscoverViewController(), title: "发现", imageName: "tabbar_discover")
zxaddChildViewController(ProfileViewController(), title: "我", imageName: "tabbar_profile")
}
private func zxaddChildViewController(vc: UIViewController, title: String, imageName: String) {
vc.title = title
vc.tabBarItem.image = UIImage(named: imageName)
addChildViewController(UINavigationController(rootViewController: vc))
}
下面是我们熟悉的OC的写法
HomeViewController * home =[[HomeViewController alloc]init];
home.title=@"首页";
home.tabBarItem.title=@"首页";
UINavigationController * na = [[UINavigationController alloc]initWithRootViewController:home];
HomeViewControllerone * home1 =[[HomeViewControllerone alloc]init];
home1.title=@"首页1";
home1.tabBarItem.title=@"首页2";
UINavigationController * na1 = [[UINavigationController alloc]initWithRootViewController:home1];
HomeViewControllertwo * home2 =[[HomeViewControllertwo alloc]init];
home2.title=@"首页3";
home2.tabBarItem.title=@"首页3";
UINavigationController * na2 = [[UINavigationController alloc]initWithRootViewController:home2];
HomeViewControllerT * home3 =[[HomeViewControllerT alloc]init];
home3.title=@"首页4";
home3.tabBarItem.title=@"首页4";
UINavigationController * na3 = [[UINavigationController alloc]initWithRootViewController:home3];
self.viewControllers=@[na,na1,na2,na3];
通过上面简单的对比,希望你能看到他们思想上的相同点,有些东西你悟出来的比我告诉你的更好!!!
swift 2.0 与 OC 相比较,标签栏和导航栏书写的差别的更多相关文章
- iOS: 状态栏、导航栏、标签栏、工具栏
三种项目栏总结: 工具栏:UIToolBar 导航栏:UINavigationBar 标签栏:UITabBar UIToolBar的按钮单元为:UIBarButtonItem UINavigati ...
- Swift 3.0 【Swift 3.0 相较于 Swift 2.2 的变化】
一.编译器和语法变化 函数或方法参数 调用函数或方法时从第一个参数开始就必须指定参数名 在Swift的历史版本中出现过在调用函数时不需要指定任何函数参数(或者从第二个参数开始指定参数名),在调用方法时 ...
- iOS开发——新特性OC篇&Swift 2.0新特性
Swift 2.0新特性 转眼间,Swift已经一岁多了,这门新鲜.语法时尚.类型安全.执行速度更快的语言已经渐渐的深入广大开发者的心.我同样也是非常喜爱这门新的编程语言. 今年6月,一年一度 ...
- Swift 2.x -> Swift 3.0
Swift 3.0 相对于 2.x 有很大变化.特别是因为命名习惯的改变,导致许多 Api 都发生了变化.总的趋势是让表示更简洁. 对旧的代码升级,大部分可以根据提示来进行更正.但也有的需要手动修改. ...
- Swift 3.0 令人兴奋,但Objective-C也有小改进--Objective-C的类属性
由于Swift 3.0 出了太多令人兴奋的新特性,人们很容易忽略 Objective-C中的小改动.或许你会觉得苹果提及Objective-C 很可能是为了提高和Swift互操作性(译者注:互操作性主 ...
- iOS -Swift 3.0 -String(字符串常规用法)
// // ViewController.swift // Swift-String // // Created by luorende on 16/9/10. // Copyright © 2016 ...
- swift 3.0基本数据语法
swift 3.0 字符串的介绍 OC和Swift中字符串的区别 在OC中字符串类型时NSString,在Swift中字符串类型是String OC中字符串@"",Swift中字符 ...
- Swift 2.0基本语法
内容包括:01变量&常量 02分支 03循环 04字符串 05数组 06字典 07函数 01变量&常量 //: Playground - noun: a place where peo ...
- swift 2.0 语法 分支
import UIKit // 注意: Swift中可以不写;号, 但是有一定的前提条件, 一行只有一句代码 // 如果一行有多句代码, 那么;还是必须写 // 注意: Swift变态的地方 ...
随机推荐
- iOS8学习笔记-构建多视图应用程序
严格来说,凡是UIView的子类都可以称为视图,实际上IOS的图形界面就是视图包含视图的方案,绝大多数的控件都是UIView的子类,但是苹果公司定义的视图术语,通常是指具有相应视图控制器的uiview ...
- 一、Hadoop基本操作命令
查看hadoop版本 hadoop version 启动与关闭 启动Hadoop 1. 进入HADOOP_HOME目录. 2. 执行sh bin/start-all.s ...
- linux之scp
传输文件夹 scp -r -P 目标端口号 文件夹名 目标用户名@目标服务器地址:目标存放地址 传输文件夹 scp -P 目标端口号 文件名 目标用户名@目标服务器地址:目标存放地址
- 关于Java通过JNI调用C 动态链接库(DLL)
JNI介绍 用JNI实现Java和C语言的数据传递 JNI原理分析和详细步骤截图说明 jni的JNIEnv指针和jobject指针 JNI实现回调| JNI调用JAVA函数|参数和返回值的格式 Jni ...
- linux设置好IP后,可以访问内网,不能访问外网
1,设置网卡,ip vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为et ...
- MVVM指南(课程学习)
iOS MVVM 参考 iOS MVVM 前世今生 iOS MVVM 优缺点 下面是我对MVVM知识的总结,主要包括模块划分.开发步骤.重点解说三部分.做这篇文章,主要是考虑总结出可执行的开发步骤,按 ...
- Core Data使用之一(Swift): 获取
//获取entity中的数据 func fetchFiles() { //第一步,获取总代理 let appDelegate = UIApplication.sharedApplication().d ...
- SVG的path的使用
SVG的path的使用: 参考:http://justcoding.iteye.com/blog/2226354 <%@ page language="java" conte ...
- MyBatis 一级、二级缓存
一级 默认session就有一级缓存,session有C/U/D操作或者session.clearCache();session.commit();都会清空缓存: 二级在mapper.xml中添加&l ...
- doubango(6)--Doubango协议栈中对RTP的管理
相关数据结构 1. tsip_dialog_invite_t 描述: 一个invite_dialog代表了一个invite期间的所有的信令流程,因此,它首先是一个普遍的dialog的特殊化结构, ...