iOS项目模仿之喜马拉雅(二)—— TabBar实现
来源:互联网 发布:深圳 人工智能 编辑:程序博客网 时间:2024/06/06 04:32
基本的项目搭建在这里就不介绍了,相信如果开始想写项目的同学,这些基本功已然是已经掌握了的,就算没有掌握,看看其他教程也很容易上手。下面我们主要记录一些难点问题和解决思路。
首先我们要实现的是最下面的Tab栏,也是一开始就遇到的难题——中间的突出按钮的实现。他山之石可以攻玉,我们先看看别人遇到这种是不是意见提供了解决方案。果不其然,在Github上找到了开源代码(https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBar ) 。这个问题基本的思路是,我们不能自定义一个UITabBarItem(系统没有提供),那么我们就正常的用TabBarController,然后我们将自定义的按钮添加在TabBar上面,覆盖下面的TabBarItem。(Our basic recipe is then to create a subclass of UITabBarController and add a custom UIButton on top of the UITabBar.)根据上面提供的方法,初步完成Tab栏如下:
其中遇到的问题值得一提的是:
由于得到的图片时图和文字一起组成的,所以设置的时候没有设置文字(自由图片,下面的文字时图片的一部分),会出现图片整体偏上的感觉,我们希望能够图片在y方向居中。还好系统提供了解决方案, UITabBarItem有一个setImageInsets的方法,我们将上下设置成一样的就可以使图片居中了。
没有解决的问题,看上面的图片对比一下原app,发现tabBar上面多了一条分割线(看右边的图看的更清晰),我们希望去掉这个分割线。仔细观察还有阴影效果的问题,我们没有实现阴影效果。下面我们来解决一下这些问题。
1)如何消除UITabBarController的分割线(边框黑线)
首先是分割线的问题,系统默认的UITabBarController 的UITabBar是有分割线的(UINavigationViewControoller的TabBar也有一条分割线解决方法和UITabBarController差不多),需要自己设置默认图片和阴影图片,分别是调用setBackgroundImage,setBackgroundImage,可将颜色转成图片设置,这样就可以消除分割线。要消除UINavigationViewControoller的分割线还需要调用设置一下setBackIndicatorTransitionMaskImage。
2)如何给TabBar添加阴影效果。
这次先到这里,后面每篇文章尽量多点内容。
0 0
- iOS项目模仿之喜马拉雅(二)—— TabBar实现
- iOS项目模仿之喜马拉雅(三)—— 分段选择器实现
- iOS项目模仿之喜马拉雅(一)——项目预览
- 献给初学iOS的小盆友们——微博app项目开发之二自定义tabBar
- 模仿喜马拉雅
- 二 iOS之 模仿下载进度—画圆圈
- 猫猫学IOS(八)UI之热门_喜马拉雅UI实现-UIScrollView的使用
- AJ学IOS(08)UI之热门_喜马拉雅UI实现-UIScrollView的使用
- iOS开发之模仿简书App自定义TabBar详解
- Qt/C++ 项目实战模仿酷狗之实现 换肤(二)
- (素材源码)猫猫学IOS(八)UI之热门_喜马拉雅UI实现-UIScrollView的使用
- [iOS开发项目-8] 喜马拉雅电台
- Android UI之自定义——类似iOS的Tabbar
- 夜间模式(模仿喜马拉雅FM)
- iOS(三)实现App底部TabBar的切换:二
- ios 隐藏tabbar实现
- IOS之自定义tabbar
- iOS之tabBar
- java把日期转化为cron表达式
- hibernate中inverse理解与分析
- SSM框架——使用MyBatis Generator自动创建代码
- 虚拟机桥接设置
- 关于opencv3.1编译的时候找不到python的lib的解决方法
- iOS项目模仿之喜马拉雅(二)—— TabBar实现
- SessionID的本质
- windows下安装mysql-5.7.11-winx64.zip后无法启动服务
- 配置Spark history server
- Swift - 按钮(UIButton)的用法
- iOS中改变选中视图的颜色等,将上次选中的视图变为默认
- JS正则表达式常用验证
- CentOS系统时间与网络同步
- ListView滑动删除 ,仿腾讯QQ