0

tableview と detailviewcontroller を作成しましたが、たとえばセルを選択すると、行 Dog を選択しますが、それはナビゲーションバーのライター Dog ではありません。どうやってするの?

このコードで使用します

しかし、「tableview」のローカル宣言がインスタンス変数を隠すという警告です

DVC =ディテールビューコントローラー

DVC.title = [[[self tableView:tableView cellForRowAtIndexPath:indexPath] textLabel] text];

ありがとう!

4

3 に答える 3

0

detailviewcontroller のタイトルを設定する必要があります。tableView のデリゲート メソッドで設定できます: didSelectRowAtIndexPath。

detailViewController.navigationController.title = @"Dog";

警告については、tableView という変数を宣言しているが、メソッドで記述したためです。

DVC.title = [[[self tableView:tableView cellForRowAtIndexPath:indexPath] textLabel] text];

tableView という変数もあります。

于 2012-11-01T15:16:09.530 に答える
0

このメソッドを使用する必要があります: [self setTitle:@"Dog"];

于 2012-11-01T15:09:07.663 に答える
0

これは、UITableView の標準的な動作ではありません。別のViewControllerに切り替えた場合にのみ、タイトルが変更されます。

didSelectRowAtIndexPathViewControllerにメソッドを実装する必要があります。そこで、Navigationbar のタイトルを手動で変更します。

100% 確信があるわけではありませんが、そのコード行でタイトルを変更できると思います。

[viewController.navigationItem setTitle:@"Whatever you want"];

編集:

警告は、インスタンス変数が呼び出されtableviewており、デリゲート メソッドも内部的に という変数を渡していることを示していますtableview。したがって、UITableView への参照を持つインスタンス変数名を変更するだけです。

于 2012-11-01T15:06:34.330 に答える