0

という名前のカスタムクラスを持つ新しいView Controllerを作成しましたDescriptionViewController。そして、内部の現在のView Controllerから、次のdidSelectRowAtIndexPathコードを使用します:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [tableView deselectRowAtIndexPath:indexPath animated:YES];

    DescriptionViewController *descriptionViewController = [[DescriptionViewController alloc] initWithNibName:@"DescriptionViewController" bundle:nil];
    [self.navigationController pushViewController:descriptionViewController animated:YES];
}

しかし、セルをクリックしても何も起こりません。他に何かする必要がありますか?

4

2 に答える 2

2

ブレークポイントを設定し、didSelectRowAtIndexPath で停止している場合、self.navigationController は nil であると思います。

ストーリーボードを使用している場合は、エントリ ポイントが UIViewController ではなく UINavigationController であることを確認してください。

モーダル トランジションを介してこのビュー コントローラーをロードする場合は、代わりにこのビュー コントローラーをルート ビューとしてナビゲーション コントローラーをプッシュするようにしてください。

于 2013-10-03T17:26:01.003 に答える
1

ストーリーボードでビューコントローラーを選択し、上部にあるエディター->埋め込み->ナビゲーションコントローラーに移動してから、initWithNibName試してみる代わりにinit

于 2013-10-03T17:28:41.840 に答える