0

この質問にタイトルを付ける方法がわかりませんが、このような問題があります。これまで、私のアプリは主にテーブル ビューを持つ 1 つのナビゲーション コントローラーで実行されていました。しかし、ドロップダウン設定メニューを統合しようとしていますが、適切に実行できません。

私が今やった方法とそれはうまくいきます

changeController は 1 つのボタンから呼び出されます。ChangeController は appdelegate にあります。

- (void) ChangeController
{
    self.window.backgroundColor = [UIColor blackColor];
    DropDownExample *e = [[DropDownExample alloc] initWithStyle:UITableViewStyleGrouped];
    self.navigationController = [[UINavigationController alloc] initWithRootViewController:e];
    [e release];
    [self.window addSubview:self.navigationController.view];
    self.window.backgroundColor = [UIColor blackColor];
    [self.window makeKeyAndVisible];
}

ただし、このアプローチには結果があります。ボタンを押しても遷移はなく、設定メニューがすぐに表示され、上のナビゲーションバーから戻ることはできません (何もありません)。

では、これを適切に行う方法は?? 私はiosが初めてなので、これを行う方法全体のアイデアを教えてください。

appdelegate からの options メソッドでの起動を終了しました

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {

        self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease

];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];

    TableViewController *tableVC = [[TableViewController alloc] initWithNibName:@"TableView" bundle:nil andType:CONTROLLER_TYPE_FIRST];
    UINavigationController *navC = [[UINavigationController alloc] initWithRootViewController:tableVC];
    self.navigationController = navC;
    [tableVC release];
    [navC release];
     self.window.rootViewController = _navigationController;
    [self.window makeKeyAndVisible];

    return YES;
}
4

1 に答える 1

3

わかりました、これが答えです。changeController呼び出すボタンが存在する同じクラスにメソッドを記述しますchangeController

メソッドには、こう書きます。

- (void) ChangeController
{
    DropDownExample *e = [[DropDownExample alloc] initWithStyle:UITableViewStyleGrouped];
    [self.navigationController pushViewController:e animated:YES];
    [e release];
}

必要なのは、現在のスタックの一番上に新しい UIViewController を挿入することです。デフォルトで上部にナビゲーション バーがある場合、デフォルトで戻るボタンがあり、そのコントローラーがポップアップします。

于 2012-10-25T06:51:20.183 に答える