2013-12-16 3 views
0

Я использую UITabBarController в своем приложении (для iPhone 5). Когда я пытаюсь установить изображение на TabBAr, изображение показывает строку. Я видел два вопроса, похожих на мои, но не понял решения.Настройка изображения на UITabBar показывает дополнительную строку на изображении

Вот как я добавляю изображение:

UIImageView *tabBarView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tab_mypeople.png"]]; 

    tabBarView.frame = CGRectMake(0, -15, 320, 64); 

    [tabBarController.tabBar addSubview:tabBarView]; 

Размеры моего текущего изображения 320X64 пикселей. Как решить эту проблему?

+0

Пытались ли вы с tabBarView.contentMode = UIViewContentModeScaleAspectFit; –

+0

Если вы устанавливаете рамку tabBar y axis = -15, то определенно она будет отставать от -15 пикселей от общей высоты изображения. Так что на самом деле вы получаете свое изображение, но снимок 15Pixel дает вам ощущение дополнительной линии. Можете ли вы установить свою рамку как GCRectMake (0,0,320,64) –

+0

@KumarKl: Да .. Это не работает. – Shradha

ответ

0

В iOS 6 и выше UITabBar имеет теневое изображение, если вы хотите его отключить, вы можете просто позвонить yourTabBar.shadowImage = [UIImage new].

В вашем случае tabBarController.tabBar.shadowImage = [UIImage new]

+0

не работает .. все еще получая строку .. – Shradha

+0

любое другое предложение ?? – Shradha

0

Да, можно сделать его точный размер.

Используйте этот код, если вы используете только UITabBar внутри вашего зрения:

Тип: 1

UITabBar *tabBar = [[UITabBar alloc]initWithFrame:CGRectMake(0, 100, self.view.frame.size.width, 60)]; 
[self.view addSubview:tabBar]; 

UIImageView *tabBarView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tabBar.png"]]; 
tabBar.backgroundImage = tabBarView.image; 

В настоящее время мой размер изображения 320 х 5

Тип 2:

Если вы используете UITabBarController, используйте его следующим образом:

UIImageView *tabBarView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tabBar.png"]]; 

UITabBarController *tabController = [[UITabBarController alloc]init]; 
tabController.tabBar.backgroundImage = tabBarView.image; 

Вот скриншот для обоих.

Type 1

Type 2

+0

Мое изображение - синий цвет. –

2

написать это в appdelegate.m методе didfinishLanching

UIImage *tabBackground = [[UIImage imageNamed:@"tab_bg"] 
          resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)]; 

[[UITabBar appearance] setBackgroundImage:tabBackground]; 

[[UITabBar appearance] setSelectionIndicatorImage:[UIImage imageNamed:@"tab_select_indicator"]];