0

iOSアプリでカスタムタブを作成しようとしています。私はこの簡単なガイドに従いましたhttp://kurrytran.blogspot.se/2011/10/ios-5-tutorial-creating-custom-tab-bar.html各タブには2つの背景画像が必要です。1つは選択されたとき、もう1つは選択されていません。私の問題は、実際のプロジェクトでは、タブバーコントローラーとビューコントローラーの間にナビゲーションコントローラーがあり、すべてが台無しになっているようです。何も起こらず、すべてのタブは黒で、コンテンツは含まれていません。それを機能させるにはどうすればよいですか?

これはfirstviewCotroller.mに入れられます

- (void)viewDidLoad
{
UIImage *selectedImage0 = [UIImage imageNamed:@"HomeDB.png"];
UIImage *unselectedImage0 = [UIImage imageNamed:@"HomeLB.png"];

UIImage *selectedImage1 = [UIImage imageNamed:@"ScheduleDB.png"];
UIImage *unselectedImage1 = [UIImage imageNamed:@"ScheduleLB.png"];

UIImage *selectedImage2 = [UIImage imageNamed:@"BuildingsDB.png"];
UIImage *unselectedImage2 = [UIImage imageNamed:@"BuildingsLB.png"];

UIImage *selectedImage3 = [UIImage imageNamed:@"InformationDB.png"];
UIImage *unselectedImage3 = [UIImage imageNamed:@"InformationLB.png"];

UIImage *selectedImage4 = [UIImage imageNamed:@"MoreDB.png"];
UIImage *unselectedImage4 = [UIImage imageNamed:@"MoreLB.png"];

UITabBar *tabBar = self.tabBarController.tabBar;
UITabBarItem *item0 = [tabBar.items objectAtIndex:0];
UITabBarItem *item1 = [tabBar.items objectAtIndex:1];
UITabBarItem *item2 = [tabBar.items objectAtIndex:2];
UITabBarItem *item3 = [tabBar.items objectAtIndex:3];
UITabBarItem *item4 = [tabBar.items objectAtIndex:4];

[item0 setFinishedSelectedImage:selectedImage0 withFinishedUnselectedImage:unselectedImage0];
[item1 setFinishedSelectedImage:selectedImage1 withFinishedUnselectedImage:unselectedImage1];
[item2 setFinishedSelectedImage:selectedImage2 withFinishedUnselectedImage:unselectedImage2];
[item3 setFinishedSelectedImage:selectedImage3 withFinishedUnselectedImage:unselectedImage3];
[item4 setFinishedSelectedImage:selectedImage4 withFinishedUnselectedImage:unselectedImage4];
[super viewDidLoad];

}
4

2 に答える 2

0

UINavigationControllersをMainWindow.xib内の各タブに個別に配置してから、アプリデリゲートで上記のコードを使用して、アプリデリゲートのタブバーアイテムを変更することをお勧めします。

AppDelegateの「didFinishLaunchingWithOptions」メソッドで次のことを行っています。

UITabBar *tabBar = self.tabBarController.tabBar;
UITabBarItem *item0 = [tabBar.items objectAtIndex:0];
UITabBarItem *item1 = [tabBar.items objectAtIndex:1];
UITabBarItem *item2 = [tabBar.items objectAtIndex:2];

[item0 setFinishedSelectedImage:[UIImage imageNamed:@"tab-1-selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"tab-1.png"]];
[item1 setFinishedSelectedImage:[UIImage imageNamed:@"tab-2.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"tab-2.png"]];
[item2 setFinishedSelectedImage:[UIImage imageNamed:@"tab-3-selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"tab-3.png"]]; 
于 2012-09-27T14:53:53.480 に答える
0

あなたの答えに感謝しますAndyDev!これは以下の私のコードです...

私のAppleDelegate.hファイル:

@interface AppDelegate : UIResponder <UIApplicationDelegate>{


UITabBarController *tabBarController;
}

@property (strong, nonatomic) UIWindow *window;
@property (nonatomic, retain) IBOutlet UITabBarController *tabBarController;

@end

私のAppleDelegate.mファイル:

#import "AppDelegate.h"

@implementation AppDelegate
@synthesize tabBarController;
@synthesize window = _window;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

UITabBar *tabBar = self.tabBarController.tabBar;
UITabBarItem *item0 = [tabBar.items objectAtIndex:0];
UITabBarItem *item1 = [tabBar.items objectAtIndex:1];
UITabBarItem *item2 = [tabBar.items objectAtIndex:2];
UITabBarItem *item3 = [tabBar.items objectAtIndex:3];
UITabBarItem *item4 = [tabBar.items objectAtIndex:4];  

[item0 setFinishedSelectedImage:[UIImage imageNamed:@"BuildingsDB.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"BuildingsLB.png"]];

[item1 setFinishedSelectedImage:[UIImage imageNamed:@"BuildingsDB.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"BuildingsLB.png"]];

[item2 setFinishedSelectedImage:[UIImage imageNamed:@"BuildingsDB.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"BuildingsLB.png"]];

 [item3 setFinishedSelectedImage:[UIImage imageNamed:@"BuildingsDB.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"BuildingsLB.png"]];  

 [item4 setFinishedSelectedImage:[UIImage imageNamed:@"BuildingsDB.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"BuildingsLB.png"]]; 

return YES;
}

私はおそらく何か間違ったことをしています。私はこれまでIOSで何かをカスタマイズしようとしたことはなく、これは私がIOSで開発している最初のプロジェクトです。各ViewController.mファイルにもコードが必要ですか?このコードでは少なくとも何も起こりません。

于 2012-09-27T15:46:50.140 に答える