iPhone-PushViewControllerはXcode 4.2で動作していません
質問
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の処理については詳細に説明します ここ
所属していません StackOverflow