0

tabbarcontroller の 3 番目のタブにナビゲーション コントローラーを含めようとしています。フィードバックはいくつかありましたが、ここまでしかできませんでした。以下のコードではエラーは発生しませんが、アプリが終了するだけなので機能していないようです。私が間違っているかもしれないことについて誰かが何か意見を持っていますか?

UIViewController *viewController1 = [[FirstViewController alloc] 
initWithNibName:@"PDCFirstViewController" bundle:nil];

UIViewController *viewController2 = [[SecondViewController alloc] 
initWithNibName:@"SecondViewController" bundle:nil];

viewController3 = [[UIViewController alloc] initWithNibName:@"ThirdViewController" 
bundle:nil];
UINavigationController *navigationcontroller = [[UINavigationController alloc] 
initWithRootViewController:viewController3];

self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray 
arrayWithObjects:viewController1,viewController2,navigationcontroller, nil];

皆さん、ありがとうございました!

int main(int argc, char *argv[])
{
@autoreleasepool {
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([PDCAppDelegate class]));
}
}
4

2 に答える 2

0

ここに解決策があります

UIViewController *courseView = [[[CoursesView alloc] initWithNibName:@"CoursesView" bundle:nil] autorelease];
UIViewController *subjectViewController = [[[SubjectViewController alloc] initWithNibName:@"SubjectViewController" bundle:nil] autorelease];
UIViewController *videoViewController = [[[VideoViewController alloc] initWithNibName:@"VideoViewController" bundle:nil] autorelease];
UIViewController *quizViewController = [[[QuizViewController alloc] initWithNibName:@"QuizViewController" bundle:nil] autorelease];
UIViewController *proifileViewController = [[[Profile2ViewController alloc] initWithNibName:@"Profile2ViewController" bundle:nil] autorelease];

UINavigationController *coursNav = [[UINavigationController alloc] initWithRootViewController:courseView];
UINavigationController *subjectNav = [[UINavigationController alloc] initWithRootViewController:subjectViewController];
UINavigationController *videoNav = [[UINavigationController alloc] initWithRootViewController:videoViewController];
UINavigationController *quizNav = [[UINavigationController alloc] initWithRootViewController:quizViewController];
UINavigationController *profileNav = [[UINavigationController alloc] initWithRootViewController:proifileViewController];

self.tabBarController = [[[UITabBarController alloc] init] autorelease];
self.tabBarController.viewControllers = @[coursNav, subjectNav,videoNav,quizNav,profileNav];
self.tabBarController.navigationController.navigationBarHidden=YES;
self.tabBarController.delegate=self;
[self.window addSubview:self.tabBarController.view];
[self.window makeKeyAndVisible];

わたしにはできる

于 2012-12-12T12:31:33.083 に答える
0

使用しているすべての nib 名とクラス名を確認してください。つまり、UIViewController のクラス名が FirstViewController の場合、nib 名は同じである必要があります。そして、ペン先名に「PDCFirstViewController」を使用しました。ThirdViewController & SecondViewController と同じです。

以下のコードを試してください...

FirstViewController *viewController1 = [[FirstViewController 割り当て]
initWithNibName:@"FirstViewController" bundle:nil];

SecondViewController *viewController2 = [[SecondViewController 割り当て]
initWithNibName:@"SecondViewController" bundle:nil];

ThirdViewController *viewController3 = [[ThirdViewController 割り当て] initWithNibName:@"ThirdViewController"
バンドル:なし];
UINavigationController *navigationcontroller = [[UINavigationController 割り当て]
initWithRootViewController:viewController3];

self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray
arrayWithObjects:viewController1,viewController2,navigationcontroller,nil];
于 2012-12-12T08:44:10.810 に答える