0

我创建了 tableview 和 detailviewcontroller,但是一旦我选择了单元格,例如:我选择行 Dog 它不是导航栏上的 writer Dog。怎么做?

我使用此代码

但这是一个警告,说“tableview”的本地声明隐藏了实例变量

DVC =DetailViewController

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

谢谢!

4

3 回答 3

0

您应该设置您的详细视图控制器的标题。您可以在 tableView 的委托方法中设置:didSelectRowAtIndexPath。

detailViewController.navigationController.title = @"Dog";

关于您的警告,这是因为您已经声明了一个名为 tableView 的变量,但是在您编写的方法中

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

还有一个名为 tableView 的变量。

于 2012-11-01T15:16:09.530 回答
0

这不是 UITableView 的标准行为。如果您切换到另一个 ViewController,它只会更改标题。

您需要didSelectRowAtIndexPath在 ViewController 中实现该方法。在那里您可以手动更改导航栏的标题。

我不是 100% 确定,但我认为使用那行代码可以更改标题:

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

编辑:

警告只是说,您有一个名为的实例变量tableview,并且委托方法还在内部传递了一个名为tableview. 因此,只需更改引用 UITableView 的实例变量名称即可。

于 2012-11-01T15:06:34.330 回答
0

你需要使用这个方法:[self setTitle:@"Dog"];

于 2012-11-01T15:09:07.663 回答