本文转载至 http://www.cocoachina.com/bbs/read.php?tid=255361

我目前有个UITabBar,改了它的高度。但是我切换页签后,这个UITabBar样式又变掉了。我感觉是UITabBarItem的高度把整个页签高度撑开了。

不知道如何修改UITabBarItem,最好是能去掉文字占用的空间,因为我只要图片,不要文字的。能不能把文字移除。

回复

引用

举报顶端

major李小木

级别: 新手上路

状态: 未签到 - [3天]

UID: 292674

精华: 0

发帖: 25

可可豆: 108 CB

威望: 100 点

在线时间: 300(时)

注册时间: 2014-02-16

最后登录: 2015-04-01

沙发 :

发表于: 2014-04-11 09:58

发自: Web Page

只看该作者   小 中 大

如果不是系统样式的tabbar,建议你还是自定义一个tabbar

给你一个自定义tabbar的demo,希望可以帮到你

#import "MainTabBarController.h"

#import "HomePageViewController.h"

#import "ScanningViewController.h"

#import "NearbyViewController.h"

#import "RemindViewController.h"

#import "DeviceManager.h"

@interface MainTabBarController ()

{

UIView * _tabBarView;

}

@end

@implementation MainTabBarController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

{

self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];

if (self) {

}

return self;

}

- (void)viewDidLoad

{

[super viewDidLoad];

[self creatCustomTabBarView];

[self creatControllers];

}

#define NormalImages [NSArray arrayWithObjects:@"底部首页按钮",@"底部扫描按钮",@"底部附近按钮",@"底部提醒按钮", nil]

#define SelectedImages [NSArray arrayWithObjects:@"底部首页按钮高亮",@"底部扫描按钮高亮",@"底部附近按钮高亮",@"底部提醒按钮高亮", nil]

-(void)creatCustomTabBarView{

self.tabBar.hidden = YES;

_tabBarView = [[UIView alloc] initWithFrame:CGRectMake(0, [DeviceManager currentDeviceScreenHeight] - 44, 320, 44)];

for (int i = 0; i< 4; i++) {

UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];

if (i == 0) {

[button setBackgroundImage:[UIImage imageNamed:[SelectedImages objectAtIndex:i]] forState:UIControlStateNormal];

}else{

[button setBackgroundImage:[UIImage imageNamed:[NormalImages objectAtIndex:i]] forState:UIControlStateNormal];

}

[button setFrame:CGRectMake(0+80*i, 0, 80, 44)];

button.tag = 100 + i;

[button addTarget:self action:@selector(clickedButton:) forControlEvents:UIControlEventTouchDown];

[_tabBarView addSubview:button];

}

[self.view addSubview:_tabBarView];

}

-(void)creatControllers{

HomePageViewController * hpVC = [[HomePageViewController alloc] init];

ScanningViewController * sVC = [[ScanningViewController alloc] init];

NearbyViewController * nVC = [[NearbyViewController alloc] init];

RemindViewController * rVC = [[RemindViewController alloc] init];

NSArray * viewControllers = [NSArray arrayWithObjects:hpVC,sVC,nVC,rVC, nil];

NSMutableArray * controllers = [[NSMutableArray alloc] init];

for (int i = 0; i< 4; i++) {

UINavigationController * nav = [[UINavigationController alloc] initWithRootViewController:[viewControllers objectAtIndex:i]];

[controllers addObject:nav];

}

self.viewControllers = controllers;

}

-(void)clickedButton:(UIButton *)button{

for (int i = 0; i< 4; i++) {

UIButton * btn = (UIButton *)[_tabBarView viewWithTag:(100 + i)];

if (button.tag%100 == i) {

[btn setBackgroundImage:[UIImage imageNamed:[SelectedImages objectAtIndex:i]] forState:UIControlStateNormal];

self.selectedIndex = i;

}else{

[btn setBackgroundImage:[UIImage imageNamed:[NormalImages objectAtIndex:i]] forState:UIControlStateNormal];

}

}

}

- (void)didReceiveMemoryWarning

{

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

@end

UITabBarItem如何更改高度的更多相关文章

  1. css设置select高度(IE,FF,Chrome)[转]

    大家都知道select是无法设置高度和边框颜色等等的在ie67下面,其他的都是可以的,所以有时候为了在所有的浏览器下显示都一致,就使用了 js的模拟,这个是大家经常碰到的,js不光要模拟外观还有模拟事 ...

  2. html5 getComputedStyle + resize 实现动态宽高度等比响应式页面设计

    序:通常我们只能控制div的宽度 而不能控制高度,在响应式页面里 如果要这个div是正方形那么必须的用媒体查询在不同的分辨率下写死宽高度 今天突发奇想研究了个 用百分比来动态控制div的高度让其与宽度 ...

  3. iOS - UITextView放在自定义cell里面-自适应高度

    textView放在自定义cell里面-自适应高度 1,textView有个属性 scrollEnabled  要设置为NO; 2,设置tableview的时候  添加这两行代码: self.tabl ...

  4. iOS:小技巧(不断更新)

    记录下一些不常用技巧,以防忘记,复制用. 1.获取当前的View在Window的frame: UIWindow * window=[[[UIApplication sharedApplication] ...

  5. iOS:小技巧(19-02-12更)

    记录下一些不常用技巧,以防忘记,复制用. 1.UIImageView 和UILabel 等一些控件,需要加这句才能成功setCorn _myLabel.layer.masksToBounds = YE ...

  6. RecyclerView使用大全

    RecylerView介绍 RecylerView是support-v7包中的新组件,是一个强大的滑动组件,与经典的ListView相比,同样拥有item回收复用的功能,这一点从它的名字recyler ...

  7. {POJ}{3897}{Maze Stretching}{二分答案+BFS}

    题意:给定迷宫,可以更改高度比,问如何使最短路等于输入数据. 思路:由于是单调的,可以用二分答案,然后BFS验证.这里用优先队列,每次压入也要进行检查(dis大小)防止数据过多,A*也可以.好久不写图 ...

  8. UI学习笔记---第十一天UITableView表视图高级-自定义cell

    自定义cell,多类型cell混合使用,cell自适应高度 自定义cell就是创建一个UITableViewCell的子类 把cell上的空间创建都封装在子类中,简化viewController中的代 ...

  9. UITabelView 高级(自定义Cell)

    自定义一个Cell 当我们要显示复杂数据的时候,例如要做一个扣扣聊天界面,或是新闻列表,系统的行已经不能满足我们的要求,这个时候我们可以通过自定义这个行,让他显示更多复杂结构的样式. 自定义cell就 ...

随机推荐

  1. 【ajax+php】动态展示4级单位(省、市、县、镇)

    1.本篇教程以ajax+php动态展示[省.市.县.镇]四级地区单位 2.效果图:    3.不废话,贴代码! HTML: <div class="form-group"&g ...

  2. Bootstrap-学习系列

    前言 首先在此多谢博友们在前几篇博文当中给与的支持和鼓励,以及在回复中提出的问题.意见和看法. 在此先声明一下,之前在下小菜所有的随笔文章中,只有前两篇关于Bootstrap的文章发表在了博客园的首页 ...

  3. php中数据类型自动转换

    1.1 转为布尔型(即返回值为0) 空字符串''或"" 数字0或0.0 字符'0'或"0" 空值NULL 没有成员的数组    其余都转换成布尔型true,包含 ...

  4. Js日常笔记之数组

    1.Array构造函数有一个很大的问题,就是不同的参数,会导致它的行为不一致,es6好像专门为此对数组有升级 因此,不建议使用new Array生成新数组,直接使用数组字面量[...]是更好的做法. ...

  5. unity, 在surface shader中访问顶点色

    //ref: Custom data computed per-vertex: http://docs.unity3d.com/Manual/SL-SurfaceShaderExamples.html ...

  6. PCIe to AXI Translation——PCIe 内存空间到AXI内存空间的转换

    PCIe to AXI Translation——PCIe 内存空间到AXI内存空间的转换 UltraScale系列芯片包含PCIe的Gen3 Integrated Block IP核在内的多种不同功 ...

  7. InnoDB:表

    数据在表中是如何进行组织存放的?下面我们就来看看: InnoDB引擎表的类型 InnoDB表都会有一个主键. 如果没有显示的指定主键,首先会去查找,看是否有非空的唯一索引, 如果有,则该列为主键:如果 ...

  8. JS的面向对象编程

    一.什么是"非构造函数"的继承? 比如,现在有一个对象,叫做"中国人". var Chinese = { nation:'中国' }; 还有一个对象,叫做&qu ...

  9. 用mysql写带占位符的select语句

    sql.append(" AND t.f_user_name LIKE CONCAT('%',?,'%')");//模糊查询 sql.append(" AND t.f_u ...

  10. java -jar Incompatible argument to function

    原因分析:jar包版本问题 解决方法:到工程中查看代码引用的jar包版本是多少,然后升级jar包,就可以了!