0

最初の4画面にタブバーがないアプリを作成しましたが、その後は各画面にタブバーがあります。そこで、各nibファイルにタブバーを追加しました。

タブバーを実装して機能させるにはどうすればよいですか。

助けて!!

4

2 に答える 2

0

コードを見ないとどこでエラーが発生したかを確認するのは難しいので、開発センターに問い合わせることをお勧めします:)

于 2012-08-21T11:32:46.090 に答える
0

didFinishLaunching で tabBarController を作成しますが、TabBar なしで最初の 4 つの画面を表示した後にのみ表示します。これはデフォルトの didFinishLaunching で、標準の TabBar アプリ テンプレートを選択したときに Xcode によって生成されます。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:

(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    UIViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
    UIViewController *viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
    self.tabBarController = [[UITabBarController alloc] init];
    self.tabBarController.viewControllers = @[viewController1, viewController2];
    self.window.rootViewController = self.tabBarController;
    [self.window makeKeyAndVisible];
    return YES;
}

ここで、次の行を置き換える必要があります。

self.window.rootViewController = self.tabBarController;

コントローラーを表示する行で。このようなもの:

LoginViewController *loginViewController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
            loginViewController.delegate = self;
self.window.rootViewController = loginViewController;

次に、最後の画面を削除してタブバーを表示したい場合は、次のように記述します。

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication   sharedApplication] delegate];
appDelegate.window.rootViewController = self.tabBarController;

主なアイデアは、アプリ ウィンドウの rootViewController を変更するだけです。

于 2012-08-21T11:35:39.790 に答える