//自定义标签工具栏
- (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的更多相关文章

  1. 设置tabbar的角标与第三方库Masonry的基本使用

    // 设置tabbar的角标 [[[[[self tabBarController] viewControllers] objectAtIndex: 0] tabBarItem] setBadgeVa ...

  2. StoryBoard 设置TabBar SelectImage 和tintColor

    如图:StoryBoard 结构是 Tabbar + Navi + ViewController 需求:需要修改TabBar的Image 和SelectImage 设置Image 设置SelectIm ...

  3. 设置TabBar图片

    设置TabBar图片 // 拿到 TabBar 在拿到想应的item UITabBar *tabBar = _tabBarController.tabBar; UITabBarItem *item0 ...

  4. 设置tabBar、使用第三方插件和自定义组件使用简单实例

    创建小程序项目进入时填写,因需要用上第三方插件,所以要填上开发者的APPID,前往微信公众平台去注册一个账号获取APPID,在设置=>开发设置可以查看相关appid信息 简单思路 底部导航添加三 ...

  5. iOS自动布局——Masonry详解

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由鹅厂新鲜事儿发表于云+社区专栏 作者:oceanlong | 腾讯 移动客户端开发工程师 前言 UI布局是整个前端体系里不可或缺的一环 ...

  6. 项目中 -- 设置tabBar样式 (旅游局)

    - (void)addChildViewController:(UIViewController *)ViewController image:(UIImage *)image selectImg:( ...

  7. iOS AutoLayout自动布局&Masonry介绍与使用实践

    Masonry介绍与使用实践:快速上手Autolayout http://www.cnblogs.com/xiaofeixiang/p/5127825.html http://www.cocoachi ...

  8. iOS开发 masonry 设置tableHeadView

    最近做公司项目,使用到到tableHeadView,一直习惯用masonry来设置约束,但是设置tableHeadView没有那么的简单.先看下效果图: 视图层次结构是这样的: 基础的创建工程项目之类 ...

  9. 设置TabBar分栏控制器上图片的大小问题

    我们都知道,iOS因为屏幕分辨率的问题,UID在交付我们iOS开发人员程序配图的时候,一般是三套图,分别对应三种不同的分辨率,对不同size的屏幕系统会自动使用不同像素的图片,我们只需要在命名时给三套 ...

随机推荐

  1. 解决ScrollView与ListView事件冲突

    1,在最近做项目的时候使用ScrollView嵌套ListView的时候发现ListView的滑动效果失效,简单的网上搜索了一下,也就有了下面的解决方法,在ListView中设置事件的监听listvi ...

  2. 【cube】SSAS(分析服务)优化手册

    优化前注意事项 1.数据质量.数据仓库中维度表的数据质量要严格保证.比如店仓的大区.省区.管理城市等属性和店仓代码没有一对多的上下级关系,这样在设计店仓维度时,就无法建立有效的层次结构.这会拖慢查询时 ...

  3. paper 22:kl-divergence(KL散度)实现代码

    这个函数很重要: function KL = kldiv(varValue,pVect1,pVect2,varargin) %KLDIV Kullback-Leibler or Jensen-Shan ...

  4. 夺命雷公狗ThinkPHP项目之----企业网站26之网站前台列表页的显示和完成分页功能

    我们用大I接收到我们get过来的栏目页的id然后通过文章的ar_cateid 来判断是不是属于该栏目下的,如果文章表ar_cateid = 栏目表的cate_id 那么就可以选出我们要查找的信息, 然 ...

  5. 20道C#练习题(二)11——20题

    11.一个游戏,前20关是每一关自身的分数,1-30关每一关是10分,31-40关,每一关是20分,1-49关,每一关是30分,第50关是100分,输入你现在闯到的关卡数,求你现在拥有的分数.利用if ...

  6. Visual Studio 2012 怪异的自动重启

    学生在做项目的过程中遇到这种问题: -------------- 用 Visual Studio 2012  开发W中eb 项目时,最近总是莫名其妙的自动重启. 后来试了一下,发现是只要在页面中输入 ...

  7. zw版【转发·台湾nvp系列Delphi例程】HALCON HWindowX 01

    zw版[转发·台湾nvp系列Delphi例程]HALCON HWindowX 01 procedure TForm1.Button1Click(Sender: TObject);var img : H ...

  8. spring 事件(Application Event)

    spring 事件为bean 与 bean之间传递消息.一个bean处理完了希望其余一个接着处理.这时我们就需要其余的一个bean监听当前bean所发送的事件. spring事件使用步骤如下: 1.先 ...

  9. Linux异步IO【转】

    转自:http://blog.chinaunix.net/uid-24567872-id-87676.html Linux® 中最常用的输入/输出(I/O)模型是同步 I/O.在这个模型中,当请求发出 ...

  10. Linux之Ganglia源码安装

    一.Ganglia简介: Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点.Ganglia的核心包含gmond.gmetad以及一个Web前端.主要是用来监 ...