iOS 自定义一个常规的TabBar
#import "WJWBaseTabBarViewController.h"
#import "WJWTabBarButton.h"
#import "WJWMainViewController.h"
#import "WJWDiscoverViewController.h"
#import "WJWMyViewController.h"
@interface WJWBaseTabBarViewController ()
@property (nonatomic, weak) UIButton *selectedBtn;
@end
@implementation WJWBaseTabBarViewController
+ (void)load {
UITabBarItem *item = [UITabBarItem appearanceWhenContainedInInstancesOfClasses:@[[self class]]];
NSMutableDictionary *attrs = [NSMutableDictionary dictionary];
attrs[NSForegroundColorAttributeName] = [UIColor blackColor];
[item setTitleTextAttributes:attrs forState:UIControlStateSelected];
NSMutableDictionary *attrsFontNormal = [NSMutableDictionary dictionary];
attrsFontNormal[NSFontAttributeName] = [UIFont systemFontOfSize:13];
[item setTitleTextAttributes:attrs forState:UIControlStateSelected];
}
- (void)viewDidLoad {
[super viewDidLoad];
[self configAllSunTabs];
[self setAllTabBarItems];
}
- (void)configAllSunTabs {
WJWMainViewController *mainVC = [[WJWMainViewController alloc] init];
UINavigationController *nav1 = [[UINavigationController alloc] initWithRootViewController:mainVC];
[self addChildViewController:nav1];
WJWDiscoverViewController *disVC = [[WJWDiscoverViewController alloc] init];
UINavigationController *nav2 = [[UINavigationController alloc] initWithRootViewController:disVC];
[self addChildViewController:nav2];
WJWMyViewController *myVC = [[WJWMyViewController alloc] init];
UINavigationController *nav3 = [[UINavigationController alloc] initWithRootViewController:myVC];
[self addChildViewController:nav3];
}
- (void)setAllTabBarItems {
NSArray *normalBtnArray = @[@"home_normal",@"faxian_normal",@"shequ_normal",@"haoyou_normal",@"wode_normal"];
NSArray *highlightBtnArray = @[@"home_highlight",@"faxian_highlight",@"shequ_highlight",@"haoyou_highlight",@"wode_highlight"];
NSArray *titleArray = @[@"首页",@"发现",@"社区",@"好友",@"我的"];
UINavigationController *nav1 = self.childViewControllers[0];
nav1.tabBarItem.title = titleArray[0];
nav1.tabBarItem.image = [UIImage imageNamed:normalBtnArray[0]];
nav1.tabBarItem.selectedImage = [UIImage imageNamed:highlightBtnArray[0]];
UINavigationController *nav2 = self.childViewControllers[1];
nav2.tabBarItem.title = titleArray[1];
nav2.tabBarItem.image = [UIImage imageNamed:normalBtnArray[1]];
nav2.tabBarItem.selectedImage = [UIImage imageNamed:highlightBtnArray[1]];
UINavigationController *nav3 = self.childViewControllers[2];
nav3.tabBarItem.title = titleArray[4];
nav3.tabBarItem.image = [UIImage imageNamed:normalBtnArray[4]];
nav3.tabBarItem.selectedImage = [UIImage imageNamed:highlightBtnArray[4]];
}
- (void)viewDidLayoutSubviews {
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
AppDelegete.m 中把tabBarController设置为 window的根控制器。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
WJWBaseTabBarViewController *baseTabBar = [[WJWBaseTabBarViewController alloc] init];
self.window.rootViewController = baseTabBar;
[self.window makeKeyAndVisible];
return YES;
}
iOS 自定义一个常规的TabBar的更多相关文章
- iOS自定义一个仿网易左右滑动切换页面框架
FSScrollContentView github:https://github.com/shunFSKi/FSScrollContentView 这是本人在整理项目时抽离了业务代码整理封装的一个通 ...
- iOS自定义tabBar
在我们的项目中经常会自己自定义tabBar因为苹果自带的真的太丑了!也不满足我们的项目需求. 好 开始行动吧! 先上图看下我们最终实现的效果: 继承UItabBar自定义一个自己的tabBar .h# ...
- iOS 开源一个高度可定制支持各种动画效果,支持单击双击,小红点,支持自定义不规则按钮的tabbar
TYTabbarAnimationDemo 业务需求导致需要做一个tabbar,里面的按钮点击带有动画效果,tabbar中间的按钮凸出,凸出部分可以点击,支持badge 小红点等,为此封装了一个高度可 ...
- iOS 自定义Tabbar实现push动画隐藏效果
http://wonderffee.github.io/blog/2013/08/07/hide-custom-tab-bar-with-animation-when-push/ 在之前的一篇文章(链 ...
- iOS 开发自定义一个提示框
在开发的时候,会碰到很多需要提示的地方,提示的方法也有很多种,ios 8 以前的版本有alertview还是以后用的alertController,都是这种作用, 但是不够灵活,而且用的多了,用户体验 ...
- ios定制中间突出的tabBar
我觉得有两个思路,一个是自己写tabBar 通过自定义实现,缺点呢就是比较麻烦,优点就是代码比较清楚,而且比较稳定. 另一个思路就是写个大按钮加在tabBar上 通过监听tabitem的点击来实现相 ...
- iOS 自定义TabBarController
转自:http://blog.csdn.net/xn4545945/article/details/35994863 一.自定义的思路 iOS中的TabBarController确实已经很强大了,大部 ...
- 【iOS自定义键盘及键盘切换】详解
[iOS自定义键盘]详解 实现效果展示: 一.实现的协议方法代码 #import <UIKit/UIKit.h> //创建自定义键盘协议 @protocol XFG_KeyBoardDel ...
- iOS自定义的UISwitch按钮
UISwitch开关控件 开关代替了点选框.开关是到目前为止用起来最简单的控件,不过仍然可以作一定程度的定制化. 一.创建 UISwitch* mySwitch = [[ UISwitchalloc] ...
随机推荐
- 移动端bug集合
移动端软键盘遮挡输入框&IOS移动端点击输入框字体放大&IOS点击闪烁 移动端软键盘遮挡输入框 ——> 转载自: https://www.jb51.net/article/1 ...
- Hack Programming
计算机由ROM(instruction memory).RAM(data memory).CPU组成,其关系如下图 在计算中存在3种寄存器:D.A.M.其中D是data register,A是addr ...
- 【原创】大叔经验分享(28)ELK分析nginx日志
提前安装好elk(elasticsearch.logstach.kibana) 一 启动logstash $LOGSTASH_HOME默认位于/usr/share/logstash或/opt/logs ...
- React native 无法弹出调试控件的问题
React Native 在debug模式下,可以通过摇动手机,弹出调试选项.但是今天利用了cocoapods 把react native 文件整理后,调试界面就弹不出了,其他功能正常.查了好久,发现 ...
- 调用脚本的方式自动的创建或者是更新oracle数据库自带的Seq序列号的值
执行脚本: CREATE OR REPLACE PACKAGE PKG_QUERY IS -- Author : ADMINISTRATOR -- Created : 2016/12/8 星期四 10 ...
- CSS选择器权重计算
CSS各种选择器的权重: 1.ID选择器 +100 2.类.属性.伪类选择器 +10 3.元素.伪元素选择器 +1 4.其他选择器 +0 如果有两个CSS样式都作用于某元素,如: #id ...
- 页面报错时隐藏Tomcat信息
一.问题描述Tomcat报错页面泄漏Apache Tomcat/8.0.53相关版本号信息,是攻击者攻击的途径之一.因此实际当中建议去掉版本号信息. 二.解决办法1.进入到tomcat/lib目录下, ...
- Codeforces 522D Closest Equals
题解: 傻逼题 直接从左向右扫描每个点作为右端点 然后单点修改区间查询就行了 另外一种更直观的做法就是$(i,j)$之间产生了$(j-i)$ 于是变成矩形查最大值,kd-tree维护 代码: #inc ...
- python之验证码识别 特征向量提取和余弦相似性比较
0.目录 1.参考2.没事画个流程图3.完整代码4.改进方向 1.参考 https://en.wikipedia.org/wiki/Cosine_similarity https://zh.wikip ...
- Metaphor of topological basis and open set
The definition of topological basis for a space $X$ requires that each point $x$ in $X$ is contained ...