2016-07-28 1 views
0

Привет Я новичок в iOS.Выбор Индикатор строки вкладок не работает

Я реализовал tabBarController вместе с элементами 4 tabBar через Storyboard. Теперь мне нужно настроить панель вкладок, как показано на рисунке ниже. Я установил фон для панели вкладок.

+ (UIImage *)imageFromColor:(UIColor *)color { 
    CGRect rect = CGRectMake(0, 0, 1, 1); 
    UIGraphicsBeginImageContext(rect.size); 
    CGContextRef context = UIGraphicsGetCurrentContext(); 
    CGContextSetFillColorWithColor(context, [color CGColor]); 
    CGContextFillRect(context, rect); 
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    return image; 
} 


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

     [[UITabBar appearance] setTintColor:[UIColor whiteColor]]; 

     [[UITabBar appearance] setBackgroundImage:[AppDelegate imageFromColor:[UIColor blackColor]]]; 

     return YES; 
    } 

Фон для панели вкладок задается без проблем.

Когда я пытаюсь установить цвет для выбранного элемента панели вкладок, он не работает. Я не знаю почему?

[[UITabBar appearance]setSelectionIndicatorImage:[AppDelegate imageFromColor:[UIColor orangeColor]]]; 

мне нужно настроить свою панель вкладок так:

enter image description here

Как я могу это сделать?

ответ

0

Во-первых, вы должны помнить, что конфигурация UITabBar должно быть сделано в AppDelegate.m:

Вы должны добавить [[UITabBar appearance]setSelectionIndicatorImage:[AppDelegate imageFromColor:[UIColor orangeColor]]]; в AppDelegate.mapplicationdidFinishLaunchingWithOptions в методе.

Во-вторых, в случае вы вы должны предоставить панель вкладок пункт, выбранный пример состояния:

UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController; 
    UITabBar *tabBar = tabBarController.tabBar; 
    UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0]; 

    //We set title 
    tabBarItem1.title = @"Home"; 

    //We set highlighted state 
    [tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"home_selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"home.png"]]; 

    // Change the tab bar background 
    UIImage* tabBarBackground = [UIImage imageNamed:@"tabbar.png"]; 
    [[UITabBar appearance] setBackgroundImage:tabBarBackground]; 
    // Tab bar active background 
    [[UITabBar appearance] setSelectionIndicatorImage:[UIImage imageNamed:@"tabbar_selected.png"]]; 
+0

я добавил его в AppDelegate.m Сама – remyr3my

+0

даже это установка только фон – remyr3my

0

Настройка выбора индикатора изображения непосредственно TabBar вместе с появлением работал для меня.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

    UITabBarController *tabBarContr = (UITabBarController *)self.window.rootViewController; 
    [[UITabBar appearance] setSelectionIndicatorImage:[UIImage imageNamed:@"tab_bar_selection_indicator.png"]]; 

    // iOS7 hack: to make selectionIndicatorImage appear on the selected tab on the first app run 
    [[tabBarContr tabBar] setSelectionIndicatorImage:[UIImage imageNamed:@"tab_bar_selection_indicator.png"]]; 

    return YES; 
} 
+0

даже это я получаю тот же результат – remyr3my

+0

просто попытаться приложить скриншоты вопрос, что вы получаете, что может помочь получить эту проблему более четко –

Смежные вопросы