Put logs in your delegate methods and also check that in your project, your are setting selectionIndicatorImage as nil.
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
if(tabBarController.tabBar.selectionIndicatorImage == nil)
NSLog("Starting point delegate: Selection indicator image is nill");
else
NSLog("Starting Point Of delegate: Selection indicator image is available");
if (tabBarController.selectedIndex==2) {
[tabBarController.tabBar setSelectionIndicatorImage:nil];
} else {
[tabBarController.tabBar setSelectionIndicatorImage:[UIImage imageNamed:@"selected-tabbar-bg.png"]];
}
if(tabBarController.tabBar.selectionIndicatorImage == nil)
NSLog("Ending point delegate: Selection indicator image is nill");
else
NSLog("Ending Point Of delegate: Selection indicator image is available");
}