0

似たような質問をいくつか見たことがありますが、現在抱えている質問に十分近いものは見つかりませんでした。

ここに画像の説明を入力

これが、ストーリーボードにあるものです。それぞれが 1 つの特定のビュー (タブの 1 つ) にリンクされているはずの多数のボタンを含むビューがあります。これで、ボタンのいずれかがクリックされている間、最初のタブにあるタブビューランディングにのみプッシュできました。ボタンから特定のタブに実際にジャンプする方法を知りたいです。

私の拙い英語をご容赦ください。よろしくお願いします。

4

3 に答える 3

2

ボタンにタグ 100、101、102、103、および 104 を付けます。

最初のシーンから TabBar シーンへのセグエの識別子を showTabBar に設定します。

各ボタンを同じ IBAction メソッドに接続します。コードを記述する必要があります。

- (IBAction)onButtonTap:(id)senderButton
{
    [self performSegueWithIdentifier:@"showTabBar" sender:senderButton];
}

また、 prepareForSegue:sender: をオーバーライドします。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.

    UITabBarController *tabBarController = segue.destinationViewController;

    tabBarController.selectedIndex = ((UIButton *) sender).tag - 100;
}
于 2014-08-06T05:39:35.967 に答える
1

TabBarController のストーリーボード ID を設定します。画像参照

ここに画像の説明を入力

tabBar のオブジェクトにアクセスし、必要なビュー コントローラーを選択します。

UITabBarController *tabBar=[MainStoryboard instantiateViewControllerWithIdentifier:@"MyTabBarController"];
tabBar.selectedIndex = 2;
于 2014-08-06T05:34:11.020 に答える
0

TabBarController のストーリーボード ID を設定します。@Mayank Jain が提案したように、最初にタグをボタンに割り当て、すべてのボタンに共通の以下のメソッドを実装します。

- (IBAction)buttonTaped:(UIButton *)sender
{
    MainTabBarViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"MainTabBarView"];

    if (sender.tag == 0)
        vc.selectedIndex = 0;

    else if (sender.tag == 1)
        vc.selectedIndex = 1;

    else if (sender.tag == 2)
        vc.selectedIndex = 2;

    else if (sender.tag == 3)
        vc.selectedIndex = 3;

    else
        vc.selectedIndex = 4;

}

于 2014-08-06T05:48:31.767 に答える