프로그래밍 방식으로 탭 표시 줄에 이미지를 설정하려고 할 때 문제가 있습니다.iOS에서 프로그래밍 방식으로 탭 표시 줄 항목 이미지를 변경하면 작동하지 않습니다.
검은 색 배경의 모든 탭과 흰색 텍스트의 흰색 아이콘이 있어야합니다. 그리고 탐색 할 때 선택된 탭이 흰색 아이콘과 제목이있는 빨간색 배경을 갖도록 변경됩니다. 지금은 테스트 목적으로 모든 탭에 동일한 이미지가 있습니다. 그러나 그들은 모두 다른 이미지가 될 것입니다.
내 문제는이 코드가 무시되고 "원본"(스토리 보드의 설정 포함)이 나타나는 것입니다. 스토리 보드에서 값을 변경하는 경우를 제외하고는 아무 것도 변경되지 않습니다.
나는 같은 내 AppDelegate에 파일의 didFinishLaunchingWithOptions에서 그들을 설정하려고 : 내가 잘못 뭐하는 거지
- (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