0

私はアプリを持っています。そのアプリで、ユーザーが初めてアプリを実行した場合は、ウェルカム画面を表示してから、アプリの初めてのセットアップ情報のみを表示する必要があります。これを配置するのに最適な場所は、appdelegate(didFinishLaunchingWithOptions)であると思います。間違っている場合は、修正が必要になる可能性があります。アプリデリゲートでは、このメソッドを呼び出します。

-(void) checkSetupOccured
{

    NSString *filePath = [self dataFilePath];
    if (![[NSFileManager defaultManager] fileExistsAtPath:filePath])
    {
        //File doesn't exist, first time ran or installed
        UITabBarController *MyTabViewController = (UITabBarController *)self.window.rootViewController;
        [MyTabViewController setSelectedIndex:3];
        WelcomeHomeViewController *welcomeHomeViewController = [[MyTabViewController viewControllers] objectAtIndex:3];
        [welcomeHomeViewController viewDidLoad];
        //Need help here I think  - Anyway to hide MyTabViewController when its presented?
     }

}

私はたくさんのスレッドを経験してきましたが、ポップアップし続けるものは次のとおりです。

 //[MyTabViewController presentModalViewController:WelcomeHomeViewController animated:YES];
 //self.navigationController.navigationBarHidden = YES;
 //[self setHidesBottomBarWhenPushed:YES];

私はこれらを使ってさまざまな場所を試しましたが、おそらく一歩下がってリラックスする必要がありますが、現在解決策を見つけることができません。また、これはUITableViewにはないことに注意してください。どんな助けでも大歓迎です、そして、私は答えられるとき、私の質問に答えられるといつも印を付けます。

4

1 に答える 1

1

わかりました、これが私がifステートメントに入れたものです:

    UITabBarController *MyTabViewController = (UITabBarController *)self.window.rootViewController;

    [MyTabViewController setSelectedIndex:3];
    UINavigationController *welcomeHomeViewController = [[MyTabViewController viewControllers] objectAtIndex:3];
            UITabBar *tabBar = MyTabViewController.tabBar;
    tabBar.hidden = YES;
    [welcomeHomeViewController viewDidLoad];

これは私には気が進まないようです。もっと良い方法があるかどうか教えてください。他の誰かがこれから助けられることができる場合に備えて、答えを投稿したかっただけです。

編集:バーはまだ表示されています:(ですが、押すボタンはなく、黒い帯だけです。助けていただければ幸いです。少なくともユーザーはバーにアクセスできませんが、最終的には非表示にする必要があります。

編集:OKFINALLY !! 私はこれを解決できてうれしいです、そしてこれが他の人を助けることができることを本当に願っています!

これは、appsdevsの投稿で変更されています:タブバー コントローラーを非表示にする方法は?

UITabBarController *MyTabViewController = (UITabBarController *)self.window.rootViewController;

    for(UIView *view in MyTabViewController.view.subviews)
    {
        if([view isKindOfClass:[UITabBar class]])
        {
            [view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];
        } else 
        {
          [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];
        }
    }

    [MyTabViewController setSelectedIndex:3];
    UINavigationController *welcomeHomeViewController = [[MyTabViewController viewControllers] objectAtIndex:3];

    [welcomeHomeViewController viewDidLoad];
于 2012-06-24T17:19:20.067 に答える