0

このアプリは、UITableView を使用する最初のアプリであり、詳細ビューを追加しようとする理由に問題が発生しました。(最初に作成したときにアプリを「ビューベースのアプリケーション」にしたため、これを手動で行う必要があります)。

didSelectRowAtIndexPath:これは私のテーブルビューのコードです:

detail = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle: [NSBundle mainBundle]];
detail.delegate = self;
detail.dtitle = [titles objectAtIndex: indexPath.row];
detail.dusername = [usernames objectAtIndex: indexPath.row];
detail.dpassword = [passwords objectAtIndex: indexPath.row];

[self.navigationController pushViewController: detail animated:YES];
//[self presentViewController:detail animated:NO completion:nil];

最後から 2 番目の行が問題の原因です。作成した空白の「Master-Detail Application」からコピーしましたが、このアプリでは他のアプリのように動作しないようです。コメントアウトされた行は、私がその場所で使用してきたものですが、私が望むものではありません。

これを修正するにはどうすればよいですか?


次に、 ではDetailViewController、タイトル バー (正確には、ナビゲーション バーのナビゲーション項目) の戻るボタンが表示されません。このビューが従属ビューか何かであることを示すために追加する必要があるコードはありますか?

4

1 に答える 1

1

nav コントローラーを使用して別のビュー コントローラーをプッシュするには、実際にはナビゲーション コントローラーが必要です。「自己」はナビゲーションコントローラーにありますか?

そうでない場合は、ルート ビュー コントローラーを最初のビュー コントローラーに設定するナビゲーション コントローラーを作成します。最初のビュー コントローラーがアプリのルート ビュー コントローラーである場合は、代わりにナビゲーション コントローラーをルート ビュー コントローラーにします。

それが整ったら、 を呼び出すことができます[self.navigationController pushViewController: detail animated:YES];

于 2013-08-02T02:20:25.233 に答える