私はiPhone開発の初心者です。タブバーにカスタム画像アイコンを配置する必要があります。ただし、デフォルトの色(黒と青)のみが表示されます。このバグの友達から克服するのを手伝ってください...?
31233 次
5 に答える
23
アプリケーションに画像を追加し、
および添付の画像を参照してください
于 2012-12-21T13:40:00.823 に答える
6
このコードをviewDidLoadで使用してください
UIImage *selectedImage0 = [UIImage imageNamed:@"selected.png"];
UIImage *unselectedImage0 = [UIImage imageNamed:@"unselected.png"];
UITabBarItem *item0 = [tabBar.items objectAtIndex:0];
[item0 setFinishedSelectedImage:selectedImage0 withFinishedUnselectedImage:unselectedImage0];
于 2012-12-21T10:17:25.627 に答える
4
iOS7 では、次のコード スニペットを使用できます。
UIImage *iconBoxOffice = [UIImage imageNamed:@"box-office.png"];
UIImage *selectedIconBoxOffice = [UIImage imageNamed:@"selected-box-office.png"];
UIImage *iconDvds = [UIImage imageNamed:@"dvds.png"];
UIImage *selectedIconDvds = [UIImage imageNamed:@"dvds.png"];
UITabBar *tabBar = self.tabBarController.tabBar;
UITabBarItem *item0 = [tabBar.items objectAtIndex:0];
UITabBarItem *item1 = [tabBar.items objectAtIndex:1];
[item0 initWithTitle:@"Box Office" image:iconBoxOffice selectedImage:selectedIconBoxOffice];
[item1 initWithTitle:@"Dvds" image:iconDvds selectedImage:selectedIconDvds];
タブが増えれば、アイテムを追加し続けることができます。*プロジェクトに画像を追加することを忘れないでください *これはストーリーボードを使用せずにプログラムで行われます
于 2014-06-15T17:04:42.587 に答える
4
AppDelegate で以下のコードを使用します
(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIViewController *viewController1 = [[ViewFirstViewController alloc] init];
UIViewController *viewController2 = [[ViewSecondViewController alloc] init];
UIViewController *viewController3 = [[ViewThirdViewController alloc] init];
UIViewController *viewController4 = [[ViewFourthViewController alloc] init];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2,viewController3,viewController4, nil];
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
imgTab = [[UIImageView alloc]initWithFrame:CGRectMake(0,0,320.0,50)];
self.tabBarController.tabBar.tag=10;
[self.tabBarController.tabBar addSubview:imgTab];
self.tabBarController.delegate = self;
imghome=[[UIImageView alloc]initWithFrame:CGRectMake(0.0,00.0,80.0,50.0)];
imghome.image=[UIImage imageNamed:@"dressup_active.png"];
[imgTab addSubview:imghome];
imgQuiz=[[UIImageView alloc]initWithFrame:CGRectMake(80.0,00.0,81.0,50.0)];
imgQuiz.image=[UIImage imageNamed:@"x-mas_tree.png"];
[imgTab addSubview:imgQuiz];
imgtTW=[[UIImageView alloc]initWithFrame:CGRectMake(161.0,00.0,80.0,50.0)];
imgtTW.image=[UIImage imageNamed:@"greetings.png"];
[imgTab addSubview:imgtTW];
imgGuest=[[UIImageView alloc]initWithFrame:CGRectMake(241.0,00.0,80.0,50.0)];
imgGuest.image=[UIImage imageNamed:@"quotes_tab.png"];
[imgTab addSubview:imgGuest];
}
Tabbar Controller デリゲート メソッド
- (void)tabBarController:(UITabBarController *)tabBarControllers didSelectViewController:(UIViewController *)viewController
{
NSLog(@"%i",tabBarControllers.selectedIndex);
if (tabBarControllers.selectedIndex == 0)
{
imghome.image=[UIImage imageNamed:@"dressup_active.png"];
imgQuiz.image=[UIImage imageNamed:@"x-mas_tree.png"];
imgtTW.image=[UIImage imageNamed:@"greetings.png"];
imgGuest.image=[UIImage imageNamed:@"quotes_tab.png"];
}
else if (tabBarControllers.selectedIndex == 1)
{
imghome.image=[UIImage imageNamed:@"dressup.png"];
imgQuiz.image=[UIImage imageNamed:@"x-mas_tree_active.png"];
imgtTW.image=[UIImage imageNamed:@"greetings.png"];
imgGuest.image=[UIImage imageNamed:@"quotes_tab.png"];
}
else if (tabBarControllers.selectedIndex == 2)
{
imghome.image=[UIImage imageNamed:@"dressup.png"];
imgQuiz.image=[UIImage imageNamed:@"x-mas_tree.png"];
imgtTW.image=[UIImage imageNamed:@"greetings_active.png"];
imgGuest.image=[UIImage imageNamed:@"quotes_tab.png"];
}
else if (tabBarControllers.selectedIndex == 3)
{
imghome.image=[UIImage imageNamed:@"dressup.png"];
imgQuiz.image=[UIImage imageNamed:@"x-mas_tree.png"];
imgtTW.image=[UIImage imageNamed:@"greetings.png"];
imgGuest.image=[UIImage imageNamed:@"quotes_active.png"];
}
}
于 2012-12-21T11:13:19.227 に答える
2
青いアイコンを変更するだけでなく、カスタム イメージ (アイコンと背景) をタブ バーに追加する場合:
以下のコードを最初の UIView .m ファイルに追加します。「タブ付きアプリケーション」プロジェクトで新たに開始する場合、それは FirstViewController.m と呼ばれます。プロジェクトに画像を追加することを忘れないでください (そして、[コピー先グループのフォルダーに項目をコピーする] チェック マークを設定してください)、画像に適切な名前を付けてください。
- (void)viewDidLoad
{
[super viewDidLoad];
UIImage *selectedImage0 = [UIImage imageNamed:@"customIcon0_unpressed.png"];
UIImage *unselectedImage0 = [UIImage imageNamed:@"customIcon0_unpressed.png"];
UIImage *selectedImage1 = [UIImage imageNamed:@"customIcon1_unpressed.png"];
UIImage *unselectedImage1 = [UIImage imageNamed:@"customIcon1_unpressed.png"];
UITabBar *tabBar = self.tabBarController.tabBar;
UITabBarItem *item0 = [tabBar.items objectAtIndex:0];
UITabBarItem *item1 = [tabBar.items objectAtIndex:1];
[item0 setFinishedSelectedImage:selectedImage0 withFinishedUnselectedImage:unselectedImage0];
[item1 setFinishedSelectedImage:selectedImage1 withFinishedUnselectedImage:unselectedImage1];
}
Ray Wenderlichs のページで、このソリューションの詳細やその他の優れたチュートリアルを多数見つけることができます。
于 2012-12-21T10:54:47.020 に答える