0

私は半ダースのチュートリアルを見てきましたが、自分が間違っていることを理解することはできません. IB を介して UIView 内にネストされたテーブルビューがあり、テーブルの両方がフォーマットされ、正しく入力されています。詳細画面を表示することができません。テーブルはタップを認識し、行が選択されますが...行は選択されたままです。すると、まったく何も起こりません。同じ結果で他の行を選択できますが、それ以降は何も起こりません。ビューの内外に移動でき、アプリ全体ですべての機能を使用できます。テーブルビューをスクロールすることもできますが、セルの詳細画面に入ることができません。必要なすべての要素を IB にリンクしました。

これは詳細ビューの私のコードです:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    //Get the selected cell detail
    NSString *theString = [secondview objectAtIndex:indexPath.row];

    celldetails *dvController = [[celldetails alloc] initWithNibName:@"celldetails" bundle:nil];
    dvController.cellString = theString;

    [self.navigationController pushViewController:dvController animated:YES];
}

「bundle:nil」と「bundle:[NSBundle mainBundle]」の両方を試しましたが、どちらも望ましい結果をもたらしません。誰かアドバイスはありますか?

4

1 に答える 1

0

pushViewController:animated:が何もしない場合は、 にnavigationControllerなる可能性がありますが、送信されたインスタンスは何らかの視覚的な変化を示すnilため、間違いなく機能するはずです (ビューが同一で、アニメーションを使用しない場合を除きます)。確実に呼び出されるように、実装に行を追加してみてください。または、そのメソッドにブレークポイントを貼り付けます。UIViewControllerpushViewController:animated:NSLog(@"blah");didSelectRowAtIndexPath:

一束でnilいいです。.xibが見つからない場合は、その旨のデバッグ メッセージが表示されるため、 .xib. をロードしてもアウトレットが設定されていない場合、アプリがクラッシュするため、イベントには有効なアウトレットが設定されてい.xibます。view.xibview

于 2012-01-17T04:34:57.387 に答える