我想在UITabBar
中添加UIViewController
,我不想使用UITabBarController
,因为我需要将此视图控制器推送到导航控制器。
一切都很好,只是我的UITabBarItem
图像没有缩放以适合要正确显示的项目大小。
如何解决这个问题?
以下是一些代码:
UITabBar *myTabBar = [[UITabBar alloc] initWithFrame:CGRectMake(0.0, barHeight, screenBounds.size.width, 50.0)];
myTabBar.opaque = YES;
UITabBarItem *barItem1 = [[UITabBarItem alloc] initWithTitle:@"title1" image:[UIImage imageNamed:@"icon1.png"] tag:1];
UITabBarItem *barItem2 = [[UITabBarItem alloc] initWithTitle:@"title2" image:[UIImage imageNamed:@"icon2.png"] tag:2];
UITabBarItem *barItem3 = [[UITabBarItem alloc] initWithTitle:@"title3" image:[UIImage imageNamed:@"icon3.png"] tag:3];
UITabBarItem *barItem4 = [[UITabBarItem alloc] initWithTitle:@"title4" image:[UIImage imageNamed:@"icon4.png"] tag:4];
NSArray *tbItems = [NSArray arrayWithObjects:barItem1, barItem2, barItem3, barItem4, nil];
myTabBar.items = tbItems;
答案 0 :(得分:3)
您应将TabBar图像保存为42x42。然后,在文件名称中添加@ 2x指令。
即。 icon1@2x.png 的
我们这样做是为了在iPhone 4 / iPod Touch 4G上以42x42像素加载图标,但对于旧设备缩小到21x21。
这将为您节省大量时间。另请注意,UITabBar只关心图像的alpha通道。所以单色图像是个好主意。这样可以节省空间。
答案 1 :(得分:0)
我觉得你应该使用UIToolBar或UISegmentedControl而不是UITabBar。
UITabBar通常应该与UITabBarController一起使用来管理它,并且应该用于切换app"模式"正如Apple所说。这意味着TabBarController应该是rootViewController(例如,如果您在应用程序启动之前添加登录视图作为标签栏应用程序,则会出现例外情况。)