2012-04-11 9 views
1

私はタブバーに4つのタブを持っています。いずれかのタブで、ナビゲーションを使用したい、つまりリストから項目をクリックすると、その項目の詳細ページに移動する必要があります。私はナビゲーションバーとアイテムのリストを持っているリストページを持っています。私はそれらをスクロールすることができますが、いずれかをクリックすると選択アニメーションが発生し、コンソールは真の行の値を記録し、詳細ページのコンストラクタからログ命令を出力しますが、詳細ページが表示されません。 (btw iOS 4.3を搭載したXcode 3.2.6)iPhoneアプリ、ナビゲーションコントローラが機能していませんか?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
     NSString *rowValue = [myStrings objectAtIndex:indexPath.row]; 
     NSLog(rowValue); 
     //[Utility setStr:rowValue]; 
     [self.myTable deselectRowAtIndexPath:indexPath animated:TRUE]; 

      //DETAILS PAGE HERE!!!! 
     RestViewController * rest= [[RestViewController alloc] init]; 
     rest.scoreLabel.text = rowValue; 
     [self.navigationController pushViewController:rest animated:TRUE]; 
     [rest release]; 
} 

何か考えている人はいますか?前もって感謝します!!!

+0

#2にナビゲーションコントローラのrootViewControllerとして設定されるべきである 'RestViewController *残り= [[RestViewControllerのalloc]のinitの後にまず、 NSLog(@ "rest =%@"、rest); 'を入れて、構築されているだけでなく返されていることを確認します。また、 'RestViewController'がうまく動作すれば、この時点で' scoreLabel'を構築することはできませんが、 'loadView'が' pushViewController'の間に呼び出されたときにのみ実行されます。 [UIViewController Class Reference](http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIViewController_Class/Reference/Reference.html)の "Subclassing Notes"を読んでいますか? – Dondragmer

答えて

1

ビューコントローラスタックがUINavigationControllerによって管理されている場合は、pushViewController:しか使用できません。プッシュしようとしているviewControllerがナビゲーションコントローラによって管理されていない場合、何も起こりません。

あなたのアプリではこれが当てはまるようです。 View Controller階層が次のように設定されていることを確認してください。

  1. トップレベルにUITabBarControllerがあります。
  2. あなたが作業しているタブが管理すべきUINavigationController
  3. あなたtableViewControllerは
+0

うん、右。私は、タブにナビゲーションコントローラを備えた別のクラスを追加しました。 2つのビューの間をナビゲートします。 感謝! – dramaticlook

関連する問題