iOS 5自定义标签栏图像垂直对齐 [英] iOS 5 custom tab bar image vertical alignment

查看:121
本文介绍了iOS 5自定义标签栏图像垂直对齐的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的自定义标签栏出现了一些奇怪的行为。图像似乎未正确对齐。这是一个截图(我删除了自己的标签栏背景以突出显示我的问题):

I'm getting some odd behaviour with my custom tab bar. The images seem to be aligned incorrectly. Here is a screenshot (I have removed my own tab bar background to highlight my problem):

这是我用来为每个州设置图像的代码:

Here is the code I'm using to set the images for each state:

self.tabBarController = [[[UITabBarController alloc] init] autorelease];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:homeNavController, whatsOnNavController, mapNavController, infoNavController, nil];
self.tabBarController.delegate = self;

// For iOS 5 only - custom tabs
if ([self.tabBarController.tabBar respondsToSelector:@selector(selectedImageTintColor)]) 
{

    // Set the background images
    //[[UITabBar appearance] setBackgroundImage: [UIImage imageNamed:@"nav_bg.png"]];
    [[UITabBar appearance] setSelectionIndicatorImage:[UIImage imageNamed:@"nav_over.png"]];

    [homeNavController.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"nav_home_over"] withFinishedUnselectedImage:[UIImage imageNamed:@"nav_home"]];
    [whatsOnNavController.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"nav_whats_on_over"] withFinishedUnselectedImage:[UIImage imageNamed:@"nav_whats_on"]];
    [mapNavController.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"nav_map_over"] withFinishedUnselectedImage:[UIImage imageNamed:@"nav_map"]];
    [infoNavController.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"nav_info_over"] withFinishedUnselectedImage:[UIImage imageNamed:@"nav_info"]];

}

我所有的替换标签图像都是正确尺寸的(49像素)非视网膜版本的高和80像素宽。)

All of my replacement tab images are correctly sized (49 pixels high and 80 pixels wide for the non-retina versions).

可能导致这种奇怪行为的原因是什么?

What could be causing this odd behaviour?

这是一个更新的截图,背景到位:

Here is an updated screenshot with the background in place:

< img src =https://i.stack.imgur.com/FWtf6.pngalt =screenshot 2>

推荐答案

<事实证明你应该总是在tabitem中有文本。该空间由空白文本创建。

It turns out that you should always have text inside a tabitem. The space was created by blank text.

这篇关于iOS 5自定义标签栏图像垂直对齐的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆