У меня проблема при попытке установить изображения на панели вкладок программно.iOS программно изменяет элементы панели вкладок на ходу, не работает
Я хочу иметь все вкладки с черным фоном и белым значком с белым текстом. И когда вы просматриваете их, выбранная вкладка изменяется так, что она имеет красный фон с белым значком и названием. Сейчас у меня одинаковое изображение на всех вкладках для тестирования. Но у них будут все разные образы.
Теперь моя проблема в том, что кажется, что этот код игнорируется и появляется «оригинал» (с настройками из раскадровки). Ничего не меняется, кроме случаев, когда я изменяю значения в раскадровке.
Я стараюсь, чтобы установить их в didFinishLaunchingWithOptions в моем файле AppDelegate как таковой:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UITabBarController *tc = [mainStoryboard instantiateViewControllerWithIdentifier:@"tabbar"];
UITabBar *tabBar = tc.tabBar;
UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];
UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1];
UITabBarItem *tabBarItem3 = [tabBar.items objectAtIndex:2];
UITabBarItem *tabBarItem4 = [tabBar.items objectAtIndex:3];
UITabBarItem *tabBarItem5 = [tabBar.items objectAtIndex:4];
tabBarItem1.selectedImage = [[UIImage imageNamed:@"ikon_clubkort"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ];
tabBarItem1.image = [[UIImage imageNamed:@"ikon_clubkort"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ];
tabBarItem1.title = @"xxxx";
tabBarItem2.selectedImage = [[UIImage imageNamed:@"ikon_clubkort"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ];
tabBarItem2.image = [[UIImage imageNamed:@"ikon_clubkort"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ];
tabBarItem2.title = @"xxxx";
tabBarItem3.selectedImage = [[UIImage imageNamed:@"ikon_clubkort"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ];
tabBarItem3.image = [[UIImage imageNamed:@"ikon_clubkort"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ];
tabBarItem3.title = @"xxxx";
tabBarItem4.selectedImage = [[UIImage imageNamed:@"ikon_clubkort"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ];
tabBarItem4.image = [[UIImage imageNamed:@"ikon_clubkort"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ];
tabBarItem4.title = @"xxxx";
tabBarItem5.selectedImage = [[UIImage imageNamed:@"ikon_clubkort"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ];
tabBarItem5.image = [[UIImage imageNamed:@"ikon_clubkort"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ];
tabBarItem5.title = @"xxxx";
return YES;
}
Любая идея, что я делаю не так?
Если я установил self.window.rootViewController = tc, мой синглтон будет сброшен. Любые решения? – user1385341
Извините, какой синглтон? В любом случае, я бы порекомендовал второй вариант по сравнению с первым. – remingtonspaz
У меня есть одноэлементный объект, который сохраняет данные пользователя, но синглтон никогда не устанавливается, потому что если я устанавливаю self.window.rootViewController = tc, мой класс входа пропускается. Он просто перепрыгивает прямо в первое окно вкладки. Если я не устанавливаю self.window.rootViewController = tc, приложение запускается на странице входа в систему. – user1385341