【问题标题】:title after select cell on UITableViewCell在 UITableViewCell 上选择单元格后的标题
【发布时间】:2012-11-01 14:14:49
【问题描述】:

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

我使用这个代码

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

DVC =DetailViewController

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

谢谢!

【问题讨论】:

    标签: ios uitableview uinavigationbar title


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

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

      编辑:

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

      【讨论】:

      • 不是。这是更改您的标题导航控制器。
      • 您不想更改导航栏的标题吗?或者你是什么意思:“导航栏上不是作家狗”? :)
      【解决方案3】:

      你应该设置你的detailviewcontroller 的标题。您可以在 tableView 的委托方法中设置:didSelectRowAtIndexPath。

      detailViewController.navigationController.title = @"Dog";
      

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

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

      还有一个变量叫tableView。

      【讨论】:

      • 您想在 tableView 或 detailViewController 上显示“Dog”吗?
      • 我需要替换所有tableView,例如tragetView?
      • 你是什么意思'tragetView',你想说'targetView'。但是'targetView'和'tableView'有什么关系呢?
      猜你喜欢
      • 2016-07-08
      • 2012-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-08
      • 1970-01-01
      相关资源
      最近更新 更多