IOS学习之基于IOS7的tab bar
转载请注明出处
http://blog.csdn.net/pony_maggie/article/details/28129473
作者:小马
什么是tabbar? 先几张图:
上图中蓝色框起来的部分就是tabbar, 它有例如以下几个特征:
1 它通常位于屏幕的最下方,不是必定,但大部分情况是这样。
2 tab bar的每一个选项卡通常表示不同的功能。这也是它与segmentedcontrol最重要的差别, 后者强调的是同一功能不同类别的区分,前者则是不同功能的区分。
拿开头两个图作为样例,看看他们上面红色框起来的部分,叫segmentedcontrol。
3 由于2的原因,tab bar的不同选项卡通常相应不同的视图。
4 tab bar的每一个选项卡一般都有图标,有些是图标+文字(比方最上面两个图),一般不会仅仅有文字。
这个也是和segmentedcontrol的一个差别。
我今天写的这个demo,为了涉及面比較广一些,我会分别用一个系统的图标,两个自己定义的图标(一个带文字和图片,一个仅仅有文字), 来设置不同的tabbar item。终于效果例如以下:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcG9ueV9tYWdnaWU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcG9ueV9tYWdnaWU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
开发环境
mac os + xcode5.0 + ios7模拟器
tab bar上的图标大小大通常是30*30,tab bar的总体高度是49。
假设须要自己定义图标,请參考这个大小比例。
新建一个single View的project, 然后拖一个tabbar controller到storyboard。你会发现这个tabbar controller还同一时候带着两个viewController过来,并自己主动关连到item。 这个”擅自做主”的行为并不会引起我们的反感,由于我们差点儿总是须要这样做。
为了便于区分, 我们设置两个view的背景色,终于例如以下图所看到的(初始的那个viewcontroller已经被我删除):
然后我们再添加一个item。
拖一个viewcontroller过来。设置一下背景色。
然后按住conrol键。从tabbar controller拖到这个viewcontroller, 选择最以下的”relationship”,例如以下图所看到的:
然后终于的storyboard例如以下图所看到的:
好了,编译执行,一切OK。有没有注意到我一行代码都没有写,是不是非常奇妙呢!
代码下载地址:
https://github.com/pony-maggie/TabBarControlDemo
或
http://download.csdn.net/detail/pony_maggie/7439409
IOS学习之基于IOS7的tab bar的更多相关文章
- uitabbarcontroller中 在设置tab bar item的image属性后不显示问题
开始使用ios中的UITabBarController,在给Tab Bar Item设置自定义图片的时候,遇到了问题 按照如下配置: 出来的结果确是: 实际上test24.png应该是: 纠结了很久, ...
- iOS第八课——Navigation Controller和Tab bar Controller
今天我们要学习Navigation Controller和Tab bar Controller. Navigation Controller是iOS编程中比较常用的一种容器,用来管理多个视图控制器. ...
- iOS开发中的错误整理,Changing the delegate of a tab bar managed by a tab bar controller is not allowed
iOS [错误:'Changing the delegate of a tab bar managed by a tab bar controller is not allowed.'] 错误:'Ch ...
- iOS开发:使用Tab Bar切换视图
iOS开发:使用Tab Bar切换视图 上一篇文章提到了多视图程序中各个视图之间的切换,用的Tool Bar,说白了还是根据触发事件使用代码改变Root View Controller中的Conten ...
- 自定义tab bar控件 学习资料
http://blog.csdn.net/zoeice/article/details/8068671 import java.util.Vector; import android.content. ...
- 学习笔记:Tab Bar 控件使用详解
注意这里是:Tab Bar 不是Tab Bar Controller. Tab bar是继承UIView,所以可以添加到ViewController里.是View就可以add到另一个View上去.Ta ...
- 【转】iOS学习之translucent属性
原文地址:http://www.jianshu.com/p/930643270455 总所周知,苹果从iOS7开始采用扁平化的界面风格,颠覆了果粉们"迷恋"的拟物化风格.对于开发者 ...
- iOS学习路线图
一.iOS学习路线图 二.iOS学习路线图--视频篇 阶 段 学完后目标 知识点 配套学习资源(笔记+源码+PPT) 密码 基础阶段 学习周期:24天 学习后目标: ...
- 从零开始学ios开发(十一):Tab Bars和Pickers
不好意思各位,本人休息了一个礼拜,所以这次的进度延后了,而且这次的学习的内容比较多,时间用的也比较长,文章发布的时间间隔有些长了,望各位谅解,下面继续我们的ios之旅. 这次我们主要学习的内容有2个, ...
随机推荐
- python类、类继承
yield: 简单地讲,yield 的作用就是把一个函数变成一个 generator,带有 yield 的函数不再是一个普通函数,Python 解释器会将其视为一个 generator,调用 fab( ...
- hdu 4006 第K大的数(优先队列)
N次操作 I是插入一个数 Q是输出第K大的数 Sample Input8 3 //n kI 1I 2I 3QI 5QI 4Q Sample Output123 # include <iostre ...
- 《精通Python设计模式》学习之建造者模式
这种模式,就是将一个最终对象分级分层建造出来. 在软件发布过程中,不同的JAVA,PYTHON,NODE.JS,ZIP压缩包, 就可以使用不同的阶段来使用建造者模式的. from enum impor ...
- Gitlab-通过API管理项目
Gitlab有一个非常强大的API,几乎可以通过API管理在Gitlab服务器中的所有项目. 在这里我们只是测试终端点的API, 因此我们需要一个程序来进行测试 .在这里我使用的是针对Google浏览 ...
- 7-10 守卫棋盘 uva11214
输入要给n*m的棋盘 均小于10 某些格子有标记 用最少的皇后 辐射到所有的标记 限时 6666ms 用IDA* 时间6000 尴尬. #include<bits/stdc++ ...
- 004 Numpy
一:Numpy介绍 1.简介 Numerical Python 就是数值python包,是python进行科学计算的一个基础包,因此要更好的理解与掌握python科学计算包,尤其是pandas,需要先 ...
- nginx配置web服务器
一:设置虚拟服务器 1.设置 http { server { listen 127.0.0.1:8080; server_name example.org www.example.org; } } 2 ...
- Yii2之控制台命令篇(console)
控制台命令 Yii 中有一个拥有丰富功能的控制台,它们主要用于创建网站后台处理的任务.在项目根目录下执行相关操作,有意思的事,可以通过 yii 自带的功能,列出当前已有的命令. 1.查看当前项目控制台 ...
- 这套完美的Java环境安装教程,完整,详细,清晰可观,让你一目了然,简单易懂。⊙﹏⊙
JDK下载与安装教程 2017年06月18日 22:53:16 Danishlyy1995 阅读数:349980 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...
- Flutter的原理及美团的实践
导读 Flutter是Google开发的一套全新的跨平台.开源UI框架,支持iOS.Android系统开发,并且是未来新操作系统Fuchsia的默认开发套件.自从2017年5月发布第一个版本以来,目前 ...