2012-04-13 8 views
-1

フレームワークを使用せずにスライドビューのようなフェイスブックを実装しようとしています。私がやっているのは、私がUINavigation Controllerのビュー(NVC1と言う)をアプリケーションデリゲートで作成し、そこにテーブルビューをロードしたことです。私はNVC1の上に別のnavigationviewcontroller(NVC2と言う)を作成しています。私は、NVC2の左上にバーボタン項目を配置しました。 NVC2のバーボタンをクリックすると、NVC2の背後にあるNVC1が表示されるように、画面の横にスライドします(私は手動でアニメートしています)。すでに述べたように、NVC1にはテーブルビューが含まれています。 NVC2のテーブルビューセルをクリックすると、NVC1上に表示/アニメーション表示されます。どうすればいいのですか、それを行う方法はありますか?目的のCでUINavigationコントローラーを呼び出す方法

NVC1

NVC2

答えて

0

あなたは、ストーリーボードを使用するのiOS 5を、使用している場合は、ナビゲーションコントローラを作成、のtableViewであなたのVCを追加し、第一VCのからの第二のVCは右クリック&ドラッグを作成します第2のVCにテーブルビューのセル& "プッシュ"を選択します。それはすべて自動的に起こります!複雑な音がしますが、一度やり直すとコードをいじるよりもはるかに簡単です。一方、時にはそれをコード化する必要があります - もしあなたが本当に必要な場合&あなたはまだ詰まっている、私に知らせてください&私はあなたのためのコードを投稿します。

+0

を次のようになります.hファイルでSecondViewControllerNVC2 *objectNVC2

を書く:私はiOS5を使用していないです。また、私はxibの使用に興味がありません。私はプログラムですべてを作成しています.. –

+0

どのように私は別のビューからナビゲーションコントローラを呼び出すことができます..私はpushViewControllerを使用すると、新しいNVC2ビューコントローラは来ている古いNVC2(私はアニメーション)はまだ.. .. NVC2 NVC1から。 –

0

は方法- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPathを実装し、それが

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {  
       if (!objectNVC2) { 
       objectNVC2 = [[SecondViewControllerNVC2 alloc] initWithNibName:@"SecondViewControllerNVC2" bundle:nil]; 
       UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil]; 
      self.navigationItem.backBarButtonItem = backBarButtonItem; 
      [backBarButtonItem release]; 
      [self.navigationController pushViewController:objectNVC2 animated:YES];  
} 
+0

上記のコードでは、新しいNVC2が画面に表示されます。しかし、私が既に右に滑っていたNVC2はそこに残っています... –

関連する問題