iOS开发简记(2):自定义tabbar
tabbar是放在APP底部的控件。常见的APP都使用tabbar来进行功能分类的管理,比如微信、QQ等等。
小程需要一个特殊一点的tabbar,要求突显中间的那个按钮,让中间按钮特别显眼,从而引导用户去点击。
所以,让中间按钮大于两边的按钮,是一个基本的要求。
使用常规的UITabBar跟UITabBarController不能满足这个需求,于是,扩展它,自定一下,是一个办法。
需要自定义uitabbar跟uitabbarcontroller。uitabbar是一个uiview,最终由uitabbarcontroller来管理,而uitabbarcontroller是一个uiviewcontroller。
(1)uitabbar
这是一个uiview,上面放一个按钮,这个按钮最终作为tabbar的中间按钮。
实现代码是这样的:
(2)uitabbarcontroller
这是一个uiviewcontroller,用来管理tabbar上的所有tab的viewcontroller,以及中间按钮。
实例的代码是这样的:
(3)使用自定义的uitabbarcontroller
使用的代码如下:
只需要在APP的didFinishLaunchingWithOptions中,设置self.window.rootViewController为tabbarcontroller即可。
这里对按钮加了点击跟长按事件。
最终执行的界面效果是这样的:
感谢各位的关注,后面我会把IOS客户端源码、API源码呈献给大家,完整的示例大家可以暂时到AppStore下载安装“知音”。
iOS开发简记(2):自定义tabbar的更多相关文章
- iOS开发笔记_4自定义TabBar
新博客:http://www.liuchendi.com 好多APP都使用的是自定义的TabBar,那这个功能应该如何实现呢?首先应该解决的问题就是,加载NavigationController的时候 ...
- iOS开发多线程篇—自定义NSOperation
iOS开发多线程篇—自定义NSOperation 一.实现一个简单的tableView显示效果 实现效果展示: 代码示例(使用以前在主控制器中进行业务处理的方式) 1.新建一个项目,让控制器继承自UI ...
- iOS开发简记(5):设备唯一标识与全局变量
这里记录两个iOS开发中经常用到的知识点,一个是唯一标识,一个是全局变量. (1)唯一标识 唯一标识一台设备(比如iPhone.iPad等)是一个基本的实现与业务上的需求,因为这个唯一标识在许多场景都 ...
- iOS开发备忘录:自定义UINavigationBar背景图片和Back按钮
iOS项目,根据设计图,有时需要自定义UIView的UINavigationBar的背景.可以切出来一张1像素左右的背景图片,来充当UINavigationBar的背景. 可以利用Navigation ...
- iOS开发简记(9):APPStore审核
"觅知音"这个APP的第一个版本从提交审核到上架,历时三个星期,其中遇到一些审核上的问题,它的处理或许能帮助到遇到同样问题的小伙伴们,所以这里列举出来,这三个星期如何跟苹果的审核团 ...
- iOS开发简记(8):数据持久化
数据持久化,也就是把数据保存到磁盘,以后可以再读取出来使用(也可以再次更改或删除).很多场景需要数据持久化,比如为了减轻服务器的访问与存储压力,客户端需要在本地做一些数据持久化的工作. iOS的数据持 ...
- iOS开发简记(6):storyboard的使用
从xib到storyboard,iOS界面开发的方式在变化. 这里记录怎么使用storyboard来完成简单的界面开发,比如实现一个“我”的简单界面. (1)新建storyboard 在新建文件向导中 ...
- iOS开发简记(1):指定APP的图标与启动图
各位兄弟姐妹们,早上好,本人花了将近一个月的时间打造了一个完整的IOS版的App, 期间包括开发,测试,上线审核,现在花点时间把实现的过程分享给大家,“知音”app功能简单,适合对象为初学者,后面我会 ...
- 【ios开发】使用自定义的TableViewCell
当系统自带的cell无法满足我们的要求的时候,我们就可以自定义自己的cell. 先看看效果,这个效果有点重复造轮子的感觉,因为UITableView已经实现了这种布局. 打造自己的cell只需简单的3 ...
随机推荐
- SMP多核启动
在 Linux系统中,对于多核的ARM芯片而言,在Biotron代码中,每个CPU都会识别自身ID,如果ID是0,则引导Bootloader和 Linux内核执行,如果ID不是0,则Biotron一般 ...
- Scrapy爬取遇到的一点点问题
学了大概一个月Scrapy,自己写了些东东,遇到很多问题,这几天心情也不大好,小媳妇人也不舒服,休假了,自己研究了很久,有些眉目了 利用scrapy 框架爬取慕课网的一些信息 步骤一:新建项目 scr ...
- PHP Excel导入数据到MySQL数据库
数据导出已经有了,怎么能没有数据导入呢,同样使用TP5框架,首先需要下载phpexcel.zip,放到第三方类库目录vendor目录下,然后有一个页面可以让你选择要导入的Excel文件,然后点击导入按 ...
- 数据分组、统计 case when then else end
case when 对表进行条件分组 case简单函数 case age when then select name , sex , age , ( case age /*when 条件成立 ...
- 转 VMware虚拟机三种联网方式(图文详细解说)
原文地址https://blog.csdn.net/lucienduan/article/details/38233147 VMware三种网络模式联网 首先说一下VMware的几个虚拟设备 安装了V ...
- swift class的缺省基类(SwiftObject)与内存模型
Hard Constraints on Resilience The root of a class hierarchy must remain stable, at pain of invalida ...
- eclipse中xml下Namespaces显示不全的解决办法
1.问题描述: 如图,有时候编写spring相关的xml文件时,使用namepace中显示不全或者完全不显示 2.解决方法: Window —— Spring —— Beans Support ...
- qlexpress
qlexpress也是一个用于执行文本代码的解析器
- sh脚本文件的运行
sh脚本文件的运行mac终端下运行shell脚本 1.写好自己的 脚本,比如test-bash.sh 2.打开终端 执行,方法一: 输入命令 ./test-bash.sh , 方法二:直接把 aa.s ...
- oracle 查询 归档日志最大值和平均值
select max(ss.size_GB), avg(ss.size_GB) from (select s.*, rownum rn2 from (select a.* ...