我创建了tableview和detailviewcontroller,但是一旦我选择了单元格,我就选择了一行Dog它不是导航栏上的编写器Dog。怎么做?
我使用此代码
但这是一个警告,说'tableview'的本地声明隐藏了实例变量
DVC = DetailViewController
DVC.title = [[[self tableView:tableView cellForRowAtIndexPath:indexPath] textLabel] text];
谢谢!
答案 0 :(得分:0)
这不是UITableView的标准行为。如果切换到另一个ViewController,它只会更改标题。
您需要在ViewController中实现方法didSelectRowAtIndexPath
。在那里,您手动更改导航栏的标题。
我不是百分百肯定,但我认为使用这行代码可以更改标题:
[viewController.navigationItem setTitle:@"Whatever you want"];
编辑:
警告只是说,你有一个名为tableview
的实例变量,委托方法也在内部传递一个名为tableview
的变量。所以只需更改实例变量名称,该名称具有对UITableView的引用。
答案 1 :(得分:0)
您需要使用此方法:[self setTitle:@“Dog”];
答案 2 :(得分:0)
您应该设置detailviewcontroller的标题。您可以在tableView的委托方法中设置:didSelectRowAtIndexPath。
detailViewController.navigationController.title = @"Dog";
关于你的警告,这是因为你已经声明了一个名为tableView的变量,但在你编写的方法中
DVC.title = [[[self tableView:tableView cellForRowAtIndexPath:indexPath] textLabel] text];
还有一个名为tableView的变量。