2011-11-06 2 views
0

Кто-нибудь знает, как иметь дополнительный накладной над выбранным элементом?Как наложить сверху на элемент UITabBar?

фон выполнен в приложении делегата.

UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"navbar_bgrd.png"]]; 

if ([[[UIDevice currentDevice] systemVersion] floatValue] > 4.9) { 
    //iOS 5 
    [self.tabBarController.tabBar insertSubview:imageView atIndex:1]; 
} 
else { 
    //iOS 4.whatever and below 
    [self.tabBarController.tabBar insertSubview:imageView atIndex:0]; 
} 

Выбранный

enter image description here

не выбран

enter image description here

ответ

2

Зафиксировано с IOS 5, функция UIappearance

//set the background of tab bar 
    UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"navbar_bgrd.png"]]; 

    if ([[[UIDevice currentDevice] systemVersion] floatValue] > 4.9) { 
     //iOS 5 
     //[self.tabBarController.tabBar insertSubview:imageView atIndex:1]; 

     [[UITabBar appearance] setBackgroundImage:[UIImage imageNamed:@"navbar_bgrd.png"]]; 
     [[UITabBar appearance] setSelectionIndicatorImage: 
     [UIImage imageNamed:@"navbaractive.png"]]; 

     [[UITabBarItem appearance] setTitleTextAttributes: 
     [NSDictionary dictionaryWithObjectsAndKeys: 
      [UIColor colorWithRed:75.0/255.0 green:75.0/255.0 blue:75.0/255.0 alpha:1.0], UITextAttributeTextColor, 
      [UIColor clearColor], UITextAttributeTextShadowColor, 
      [NSValue valueWithUIOffset:UIOffsetMake(0, 1)], UITextAttributeTextShadowOffset, 
      nil] forState:UIControlStateNormal]; 

     [[UITabBarItem appearance] setTitleTextAttributes: 
     [NSDictionary dictionaryWithObjectsAndKeys: 
      [UIColor whiteColor], UITextAttributeTextColor, 
      [UIColor clearColor], UITextAttributeTextShadowColor, 
      [NSValue valueWithUIOffset:UIOffsetMake(0, 1)], UITextAttributeTextShadowOffset, 
      nil] forState:UIControlStateSelected]; 
Смежные вопросы