Search code examples
iosobjective-cxcode9iphone-x

got white gap under tab bar on iphoneX


I was running my app on iphoneX simulator and got white gap under tabbar. Can someone explain to me how to check this one. Thanks you so much. I created a tabbar controller programmatically and here's the code.

self.newsfeedVC = [WhatIsNewListVC loadFromNib];
self.messagingVC = [MessagingVC loadFromNib];
self.menuVC = [MenuVC loadFromNib];
self.notiVC = [NotificationVC loadFromNib];
self.iFeedbackMenuStyle2VC = [iFeedbackMenuStyle2VC loadFromNib];

CustomNavigationController *nav1 = [CustomNavigationController loadFromNibWithType:navForWhatIsNew];
[nav1 setViewControllers:@[self.newsfeedVC]];


CustomNavigationController *nav2 = [CustomNavigationController loadFromNibWithType:navForMessaging];
[nav2 setViewControllers:@[self.messagingVC]];

CustomNavigationController *nav3 = [CustomNavigationController loadFromNibWithType:navForDefault];
[nav3 setViewControllers:@[self.notiVC]];

CustomNavigationController *nav4 = [CustomNavigationController loadFromNibWithType:navForDefault];
[nav4 setViewControllers:@[self.iFeedbackMenuStyle2VC]];

CustomNavigationController *nav5 = [CustomNavigationController loadFromNibWithType:navForWhatIsNew];
[nav5 setViewControllers:@[self.menuVC]];

[CAGUserHelper sharedInstance].originalTabVC = [[UITabBarController alloc] init];

if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0"))
{
    [[CAGUserHelper sharedInstance].originalTabVC.tabBar setBarTintColor:[UIColor whiteColor]];
    [[CAGUserHelper sharedInstance].originalTabVC.tabBar setTranslucent:NO];
}

[CAGUserHelper sharedInstance].originalTabVC.viewControllers = [NSArray arrayWithObjects:nav1, nav2,nav3,nav4,nav5 ,nil];


NSArray *tabBarItemImages = @[@"i_news.png", @"i_message_tab.png", @"i_notification.png", @"menu_ifeedback.png",@"hamburger_menu.png"];

NSInteger index = 0;
NSArray *titleArr = @[@"News Feed", @"Messages", @"Notifications", @"iFeedback",@"More"];

for (UITabBarItem *item in [[[CAGUserHelper sharedInstance].originalTabVC tabBar] items]) {
    //        item.badgeValue = @"1";
    item.image = [UIImage imageNamed:[tabBarItemImages objectAtIndex:index]];
    item.title = titleArr[index];
    index++;
}
[CAGUserHelper sharedInstance].originalTabVC.delegate = self;

and I set up tabbar controller as window's root view controller and here's the code.

self.window.rootViewController = [CAGUserHelper sharedInstance].originalTabVC;

enter image description here


Solution

  • I found the answer. It is because i didn't set any launch screen in project settings. Thanks you so much for all the answers