2016-08-03 119 views
-4

這是問題: UITabBarController有時會出現錯誤,點擊一些tabbarItem會正確,或者等待幾秒鐘恢復正常。這是怎麼回事?爲什麼這個tabbar顯示錯誤?

這是代碼

-(UITabBarController*)getTabViewController 
{ 
    //創建TabbarController 
    self.tabBarVc = [[UITabBarController alloc] init]; 
    self.tabBarVc.delegate = self; 
    UITabBarItem *leftItem = [[UITabBarItem alloc] initWithTitle:@"積分兌換" image:[UIImage imageNamed:@"jifenduihuan"] selectedImage:[UIImage imageNamed:@"jifenduihuanblue"]]; 
UITabBarItem *centerItem = [[UITabBarItem alloc] initWithTitle:@"品牌商戶" image:[UIImage imageNamed:@"jifenshanghu"] selectedImage:[UIImage imageNamed:@"jifenshanghublue"]]; 
UITabBarItem *newsItem = [[UITabBarItem alloc] initWithTitle:@"積分資訊" image:[UIImage imageNamed:@"new"] selectedImage:[UIImage imageNamed:@"new2"]]; 
UITabBarItem *rightItem = [[UITabBarItem alloc] initWithTitle:@"個人中心" image:[UIImage imageNamed:@"gerenzhongxin"] selectedImage:[UIImage imageNamed:@"gerenzhongxinblue"]]; 
UIOffset titleOffset=UIOffsetMake(0, -5); 
    UIOffset titleOffset=UIOffsetMake(0, -5); 
    [leftItem setTitlePositionAdjustment:titleOffset]; 
    [centerItem setTitlePositionAdjustment:titleOffset]; 
    [rightItem setTitlePositionAdjustment:titleOffset]; 
    [newsItem setTitlePositionAdjustment:titleOffset]; 
    //homeNav,shopNav,myInfoNav and newsNav is UINavigationController 
    [HomeNav setTabBarItem:leftItem]; 
    [shopNav setTabBarItem:centerItem]; 
    [myInfoNav setTabBarItem:rightItem]; 
    [newsNav setTabBarItem:newsItem]; 

    UIView *backView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, 49)]; 
    backView.backgroundColor = [UIColor whiteColor]; 
    [self.tabBarVc.tabBar insertSubview:backView atIndex:0]; 
    self.tabBarVc.tabBar.opaque = YES; 
    [self.tabBarVc.tabBar setTintColor:MainColor]; 
    self.tabBarVc.viewControllers = [NSArray arrayWithObjects:HomeNav,shopNav,newsNav,myinfoNav,nil]; 


    return self.tabBarVc; 
} 

this is screenshot

+0

發佈您的代碼PLZ。 – Catoshi

+0

它可能是導致問題的tabbaritem圖像大小。反正請把代碼放在眼裏,讓我們看看併爲您提供解決方案。 – ManiaChamp

+0

@TonyHan發佈 – DanielXu

回答

0

試試這個:

//homeNav,shopNav,myInfoNav and newsNav is UINavigationController 
[HomeNav setTabBarItem:leftItem]; 
[shopNav setTabBarItem:centerItem]; 
[myInfoNav setTabBarItem:rightItem]; 
[newsNav setTabBarItem:newsItem]; 
[HomeNav.tabBarItem setTitlePositionAdjustment:titleOffset]; 
[centerItem.tabBarItem setTitlePositionAdjustment:titleOffset]; 
[rightItem.tabBarItem setTitlePositionAdjustment:titleOffset]; 
[newsItem.tabBarItem setTitlePositionAdjustment:titleOffset];