質問

Xcode 3.2.5で作成されたアプリに取り組んでいます。私のアプリはXcode 3.2.5で期待どおりに機能していますが、いくつかのメモリの問題のために、Xcode 4.2を使用しています。

XCode 4.2は、既存のコードをARC [自動参照カウントの略]に変換するツールを提供します。選択する 編集 - >リファクタル...-> Objective -Cアークに変換…私のために働いた。

私のコードでは、navigationcontrollerを使用して、uibuttonクリックのビューを切り替えています。 uibuttonはプログラムで作成しました。次のコードを使用して、button_clickでビューコントローラーをプッシュしています。

 -(void) button_click:(id)sender{

NSLog(@"button_clicked.....");
SecondView  *sv = [[SecondView alloc] initWithNibName:@"SecondView" bundle:[NSBundle mainBundle]];

    [self.navigationController pushViewController:sv animated:NO];
}

button_clickメッセージを表示するコンソールをクリックします button_clicked…。. 。しかし、PushViewControllerはSecondViewをプッシュしません。

PushViewControllerはXcode 3.2.5で動作しています ただし、Xcode 4.2ボタンでクリックが機能していますが、NavigationControllerのPushViewControllerは機能していません。

どうすれば修正できますか?

どんな助けも大歓迎です。

前もって感謝します!

役に立ちましたか?

解決

rootviewcontrollerをmainwindow.xibのナビゲーションコントローラーに入れてみましたか?

私の答えに加えて:

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

    [self.window makeKeyAndVisible];

    // create the MyView controller instance:
    MyViewController *controller = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];

    // set the title that appears in the navigation bar:
    [controller.navigationItem setTitle:@"Main View"];

    // create the Navigation Controller instance:
    UINavigationController *newnav = [[UINavigationController alloc] initWithRootViewController:controller];

    // set the navController property:
    [self setNavController:newnav];

    // release both controllers:
    [newnav release];
    [controller release];

    // add the Navigation Controller's view to the window:
    [window addSubview:[navController view]];

    return YES;
}

また

[self.window setRootViewController:navigationController];

[self.window makeKeyAndVisible];

NavigationControllersの処理については詳細に説明します ここ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top