iOS SDK详解之UITabbar(仿新浪微博的Demo)

原创blog,转载请注明出处
http://blog.csdn.net/hello_hwc?viewmode=contents
欢迎关注我的iOS SDK详解专栏
http://blog.csdn.net/column/details/huangwenchen-ios-sdk.html

前言:UITabBarController和UINavigationController是大多数App选择的导航模式。而UITabBarController的UITabBar又是其呈现给用户的UI部分,所以了解其属性,以及如何自定义非常重要。本文模仿新浪微博写一个简单的Tabbar,感兴趣的同学可以下载来看看,Demo的实现我会在本文最后简单提一下。

Demo 效果(图标文字随便写的)
静态图

动图

Demo的具体代码就不讲解了,感兴趣的同学下载下来看看就知道怎么回事,而且,我的资源都是不要积分就可以下的。
下载链接
http://download.csdn.net/detail/hello_hwc/9068705

UITabbar的常用属性

tintColor//定义TabBarItems的选种颜色

例如,设为红色

几个Image相关的属性

backgroundImage

设置UITabbar的背景图片,例如,设置上文最开始的Demo的背景图片为渐变

shadowImage //阴影图片
selectionIndicatorImage //选种后再tabbar之上,再baritem之下的图片。
translucent //是否透明

UIBarItem的几个常用属性

image/selectedImage //图片,和选中后的图片

例如,我的Demo中,对中间的Item进行了如下设置
保证怎么点击都使用我想要的图片

 item.image = [midImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
 item.selectedImage = [midImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

调整title和Icon的位置

titlePositionAdjustment/imageInsets

例如,我的Demo中,中间的是大图,没有title的,要调整Icon的位置

item.imageInsets = UIEdgeInsetsMake(5.0, 0, -5.0, 0);

调整之前

之后

设置字体样式

setTitleTextAttributes:forState:

例如,使用如下代码把字体设为蓝色

 [item setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor blueColor]} forState:UIControlStateNormal];

设置前后对比
这里写图片描述

Demo的讲解

  • 模糊使用UIVisualEffectView
  • 动画我尝试了Keyframe,UISnapBehaviour,以及Demo中的代码,发现还是Demo中的更加清楚一点。
  • 使用tag来传递第几个icon被点击

你可能感兴趣的:(ios,动画,tabbar,仿微博)