2013-11-15 2 views
5

Im пытается создать пользовательский UITabbar, используя изображения для выбранных и невыбранных состояний.ios7 - Пользовательский UItabbar имеет зазор внизу

это мой код:

if ([UIImage instancesRespondToSelector:@selector(imageWithRenderingMode:)]) { 

    tab_01_on_image = [[UIImage imageNamed:@"Tabbar_on_01"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 
    tab_01_off_image = [[UIImage imageNamed:@"Tabbar_off_01"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 

} else { 
    tab_01_on_image = [UIImage imageNamed:@"Tabbar_on_01"] ; 
    tab_01_off_image = [UIImage imageNamed:[email protected]"Tabbar_off_01"] ; 

} 

[[[self.tabBarController.tabBar items] objectAtIndex:index] setFinishedSelectedImage:tab_01_on_image withFinishedUnselectedImage:tab_01_off_image]; 

Это изображение показывает проблему, красный цвет является разрыв:

enter image description here

EDIT, чтобы добавить код для создания UITabbar

self.tabBarController = [[BaseTabbarController alloc] init]; 
self.tabBarController.delegate = self; 
self.tabBarController.viewControllers = @[navControll1, navControll2, navControll3, navControll4, navControll5]; 
self.window.rootViewController = self.tabBarController; 

Я ценю любую помощь, которую вы, ребята, можете предложить

+0

как высока Tabbar_on_01? – Ilario

+0

@ 2x изображение 128x100px Я также пробовал с 128x98px и получил ту же проблему. – FelipeOliveira

+0

Является ли ваш дизайн разработан с помощью Interface Builder, или вы создаете его программно? – zbMax

ответ

6

Я наконец нашел решение. Изменение imageInsets каждого tabbarItem сделал трюк.

tabBarItem1.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0); 
tabBarItem2.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0); 
tabBarItem3.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0); 
tabBarItem4.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0); 
tabBarItem5.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0); 
Смежные вопросы