【问题标题】:Trying to add an Edit button to the navigation bar尝试将编辑按钮添加到导航栏
【发布时间】:2013-04-16 04:33:10
【问题描述】:

我创建了一个单视图应用程序的 xcode 项目。我在故事板屏幕上放置了一个表格视图和导航项。现在,我将数组数据源绑定到 tableview 并设置如下代码以在导航按钮上显示编辑按钮。

self.navigationItem.leftBarButtonItem = self.editButtonItem;

但是,它似乎无法正常工作。我在导航栏上找不到任何按钮。

谁能告诉我如何让编辑按钮显示?

谢谢!

【问题讨论】:

  • @RajanBalana 没有什么要初始化的。它内置在 UIViewController 中。他的代码应该可以工作;这并不意味着他的视图控制器层次结构不正确(正如我在下面的回答中解释的那样)。
  • 你是如何初始化 self.editbutton 的?
  • 不要将tableview和导航项放入视图中,而是使用简单的导航控制器
  • 我的故事板上没有导航控制器。我应该加一个吗?实际上,我希望我的应用程序可以通过选项卡切换页面并在编辑按钮上修改表格视图数据。
  • 您不必做任何您不想做的事情,但是 you 使用的代码行 self.navigationItem.leftBarButtonItem = self.editButtonItem 仅适用于 UIViewController,它是UINavigationController 的子级。所以我相信我已经正确回答了这个问题:该行不起作用,因为您不在导航界面中。

标签: iphone ios cocoa-touch uikit uinavigationbar


【解决方案1】:

我在故事板屏幕上放置了一个表格视图和导航项。

听起来这可能就是问题所在。设置它的方法是从 UINavigationController 作为故事板的初始控制器开始,并将 UITableViewController 置于与其相关的关系中(作为导航控制器的根视图控制器)。 现在如果表格视图控制器说

 self.navigationItem.leftBarButtonItem = self.editButtonItem;

编辑按钮将出现在导航栏中。

要查看示例,请从 Master-Detail 模板(适用于 iPhone)开始。主视图控制器的结构与我所描述的方式相同。

【讨论】:

  • 这似乎是对上述问题的不恰当回答。你不觉得一样吗?
  • 显然我不这么认为。我认为,考虑到问题中信息的匮乏,我正在对可能的原因做出一个非常精明的猜测。
  • 我的故事板上没有导航控制器。我应该加一个吗?实际上,我希望我的应用程序可以通过选项卡切换页面并在编辑按钮上修改表格视图数据。
  • 您不必做任何您不想做的事情,但是 you 使用的代码行 self.navigationItem.leftBarButtonItem = self.editButtonItem 仅适用于 UIViewController,它是UINavigationController 的子级。所以我相信我已经正确回答了这个问题:该行不起作用,因为您不在导航界面中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-20
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
相关资源
最近更新 更多