原创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被点击