0

私はiOSが初めてです。主に Android で開発していました。現在、いくつかの機能で更新する必要がある iOS アプリを引き継ぎました。

このアプリは TabBar ベースです。いくつかのナビゲーション コントローラーは、それらの間の切り替えを管理するタブ バーにプッシュされます。ただし、タブの 1 つは、いくつかの選択肢を含む ActionSheet を開きます。

ActionSheet ボタンのクリックの 1 つで、新しい NavigationController を開く必要があります。

以下は、クリックされたボタンを定義するフラグメントです。

switch (buttonIndex) {
    case 0:
        [self openMyNavigationController];
        break;
    case 1:
        break;
    case 2:
        break;            
    default:
        break;
}

openMyNavigationController メソッドがどのように見えるべきかわかりません

次のように開始しました。

UIViewController *myViewController = [[MyViewController alloc ] nitWithNibName:@"MyViewController" bundle:nil];

UINavigationController *navMyViewController = [[UINavigationController alloc] initWithRootViewController:myViewController]; 

新しく作成した NavigationController を画面に表示するにはどうすればよいですか?

4

3 に答える 3

1

あなたの質問を正しく理解していれば、必要だと思います

[self.navigationController pushViewController: myViewController animated:YES];

新しいビューコントローラーをナビゲーション スタックにプッシュします。

しかし、アプリケーションの設計は間違っていると思います。iOS 標準ではありません。タブバーは、ボタンのような「アクションを実行する」ためのものではありません (私はいくつかの Android プロジェクトも行っていますが、それは異なります。本当にボタンを実行したい場合は、タブ バーではなくツールバーを使用する必要があります)、切り替え用です。ページ。iOS User Interfaceを読む必要があると思います 。これが役に立てば幸いです。

于 2012-11-23T15:35:41.943 に答える
1

その navigationController を rootViewController でモーダルに提示できます。

[self presentModalViewController:navController animated: YES];
于 2012-11-23T15:39:05.110 に答える
0

新しい NavigationController をタブ項目にリンクしました。そのタブの ActionSheet メニューも開きます。これは基本的にクライアントが望んでいたものですが、別の ViewControllers へのボタンは新しく開いたタブに配置する必要があるため、ユーザーの視点からは最終的に愚かです...クライアントが気が変わることを願っています。

于 2012-11-26T14:46:19.030 に答える