自动布局(Masonry)设置tabbar
//自定义标签工具栏
- (void) initTabBarView{
//
self.bottomView = [[UIView alloc]initWithFrame:CGRectMake(, kScreenHeight-tabViewHeight-,kScreenWidth, tabViewHeight+)];
[self.view addSubview:self.bottomView]; UIView *upLine = [[UIView alloc]initWithFrame:CGRectMake(, ,kScreenWidth, 0.5)];
upLine.backgroundColor = RGB(0xd4, 0xdd, 0xe3);
upLine.alpha = 0.16;
[self.bottomView addSubview:upLine]; UIView *downLine = [[UIView alloc]initWithFrame:CGRectMake(, 0.5 ,kScreenWidth, 0.5)];
downLine.backgroundColor = RGB(0x34, 0x53, 0x6a);
downLine.alpha = 0.16;
[self.bottomView addSubview:downLine]; _tabBarView = [[UIView alloc]initWithFrame:CGRectMake(, , kScreenWidth, tabViewHeight)];
_tabBarView.backgroundColor = [UIColor whiteColor]; [self.bottomView addSubview:_tabBarView]; NSArray *textArr = @[@"通讯录",@"常用联系人",@"个人中心"];
NSArray *imageNameArray = @[@"tab_ico_contact_nor.png",@"tab_ico_contact_hl.png",
@"tab_ico_collect_nor.png",@"tab_ico_collect_hl.png",
@"tab_ico_me_nor.png",@"tab_ico_me_hl.png"];
int tabCount =(int)textArr.count; NSMutableArray *spaceViews = [NSMutableArray arrayWithCapacity:tabCount+]; for (int i=; i < tabCount+; i++) {
UIView *v = [UIView new];
[spaceViews addObject:v];
[self.tabBarView addSubview:v]; [v mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(tabViewHeight);
make.centerY.mas_equalTo(self.tabBarView.mas_centerY);
}];
}
[spaceViews[] mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.tabBarView.mas_left); }];
for(int i= ;i< textArr.count;i++)
{
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.tag = +i;
[btn setImage:[UIImage imageNamedWithoutCache:imageNameArray[i*] ] forState:UIControlStateNormal];
[btn setImage:[UIImage imageNamedWithoutCache:imageNameArray[i*+] ] forState:UIControlStateSelected];
[btn setImage:[UIImage imageNamedWithoutCache:imageNameArray[i*+] ] forState:UIControlStateHighlighted];
[btn setTitle:textArr[i] forState:UIControlStateNormal];
[btn setTitleColor:RGB(0x7c, 0x86, 0x8d) forState:UIControlStateNormal];
[btn setTitleColor:RGB(, 0x9c, 0xff) forState:UIControlStateHighlighted];
[btn setTitleColor:RGB(, 0x9c, 0xff) forState:UIControlStateSelected];
btn.titleLabel.font = [UIFont systemFontOfSize: /];
[btn addTarget:self action:@selector(btnAction:) forControlEvents:UIControlEventTouchUpInside];
btn.frame = CGRectMake(kScreenWidth/tabCount*i + kScreenWidth/(tabCount*), (tabViewHeight-btnHeight)/,kScreenWidth/(*tabCount) , btnHeight); //kScreenWidth/(2*tabCount) btn.bounds.size.width
btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
[btn setTitleEdgeInsets:UIEdgeInsetsMake(btn.imageView.image.size.height, -btn.imageView.image.size.width, , )];
[btn setImageEdgeInsets:UIEdgeInsetsMake(, ,btn.titleLabel.bounds.size.height, -btn.titleLabel.bounds.size.width)]; [self.tabBarView addSubview:btn]; [spaceViews[i+] mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(btn.mas_right);
make.width.equalTo(((UIView *)spaceViews[i]).mas_width);
}]; [btn mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.tabBarView.mas_top).offset((tabViewHeight-btnHeight)/);
make.bottom.equalTo(self.tabBarView.mas_bottom).offset(-(tabViewHeight-btnHeight)/);
make.height.equalTo(@);
make.left.equalTo(((UIView *)spaceViews[i]).mas_right);
make.right.equalTo(((UIView *)spaceViews[i+]).mas_left);
}];
if(i == )
{
[btn setSelected:YES];
} } [spaceViews[tabCount] mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(self.tabBarView.mas_right);
}]; }
自动布局(Masonry)设置tabbar的更多相关文章
- 设置tabbar的角标与第三方库Masonry的基本使用
// 设置tabbar的角标 [[[[[self tabBarController] viewControllers] objectAtIndex: 0] tabBarItem] setBadgeVa ...
- StoryBoard 设置TabBar SelectImage 和tintColor
如图:StoryBoard 结构是 Tabbar + Navi + ViewController 需求:需要修改TabBar的Image 和SelectImage 设置Image 设置SelectIm ...
- 设置TabBar图片
设置TabBar图片 // 拿到 TabBar 在拿到想应的item UITabBar *tabBar = _tabBarController.tabBar; UITabBarItem *item0 ...
- 设置tabBar、使用第三方插件和自定义组件使用简单实例
创建小程序项目进入时填写,因需要用上第三方插件,所以要填上开发者的APPID,前往微信公众平台去注册一个账号获取APPID,在设置=>开发设置可以查看相关appid信息 简单思路 底部导航添加三 ...
- iOS自动布局——Masonry详解
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由鹅厂新鲜事儿发表于云+社区专栏 作者:oceanlong | 腾讯 移动客户端开发工程师 前言 UI布局是整个前端体系里不可或缺的一环 ...
- 项目中 -- 设置tabBar样式 (旅游局)
- (void)addChildViewController:(UIViewController *)ViewController image:(UIImage *)image selectImg:( ...
- iOS AutoLayout自动布局&Masonry介绍与使用实践
Masonry介绍与使用实践:快速上手Autolayout http://www.cnblogs.com/xiaofeixiang/p/5127825.html http://www.cocoachi ...
- iOS开发 masonry 设置tableHeadView
最近做公司项目,使用到到tableHeadView,一直习惯用masonry来设置约束,但是设置tableHeadView没有那么的简单.先看下效果图: 视图层次结构是这样的: 基础的创建工程项目之类 ...
- 设置TabBar分栏控制器上图片的大小问题
我们都知道,iOS因为屏幕分辨率的问题,UID在交付我们iOS开发人员程序配图的时候,一般是三套图,分别对应三种不同的分辨率,对不同size的屏幕系统会自动使用不同像素的图片,我们只需要在命名时给三套 ...
随机推荐
- Kafka集群模式部署
环境:kafka 0.8.1.1 基本概念 Kafka维护按类区分的消息,称为主题(topic) 生产者(producer)向kafka的主题发布消息 消费者(consumer)向主题注册,并且接收发 ...
- 夺命雷公狗ThinkPHP项目之----企业网站23之网站前台二级分类的跳转(URL跳转到列表页或产品页)
我们现在开始做实现我们的二级菜单如何跳转到指定的列表页或者产品也呢?? 我们分享下数据库情况: 我们的数据库里提前给我们预留了一个cate_type的字段,那么我们可以让这个字段进行判断,从而遍历出指 ...
- Java魔法堂:注释和注释模板 (转)
http://www.cnblogs.com/fsjohnhuang/p/3988883.html 一.注释 1. 注释类型 [a]. 单行注释 // 单行注释 String type = &qu ...
- 7. 星际争霸之php设计模式--中介者模式
题记==============================================================================本php设计模式专辑来源于博客(jymo ...
- Job类
当我们在写MapReduce程序的时候,通常,在main函数里,我们会像下面这样做.建立一个Job对象,设置它的JobName,然后配置输入输出路径,设置我们的Mapper类和Reducer类,设置I ...
- 蒙地卡罗法求 PI
问题: 蒙地卡罗为摩洛哥王国之首都,该国位于法国与义大利国境,以赌博闻名.蒙地卡罗的基本原理为以乱数配合面积公式来进行解题,这种以机率来解题的方式带有赌博的意味,虽然在精确度上有所疑虑,但其解题的思考 ...
- java中length,length(),size()的区别
1. java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性.2. java中的length()方法是针对字符串String说的,如果想看 ...
- linux设备驱动归纳总结(九):1.platform总线的设备和驱动【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-111745.html linux设备驱动归纳总结(九):1.platform总线的设备和驱动 xxxx ...
- 161028、Nginx负载均衡实现tomcat集群方案简要小结
重点两部分:一.负载均衡二.tomcat集群 所谓tomcat集群,就是可以向外提供并行服务的多台机器,任何一台服务器宕机,其它服务器可以替代它向外提供服务,而不影响用户访问. Nginx是一个常用的 ...
- 介绍“Razor”— ASP.NET的一个新视图引擎
我的团队当前正在从事的工作之一就是为ASP.NET添加一个新的视图引擎. 一直以来,ASP.NET MVC都支持 “视图引擎”的概念—采用不同语法的模板的可插拔模块.当前ASP.NET MVC “默认 ...