ios - 栏按钮项目未显示

标签 ios objective-c uitableview xcode6-beta6

我在我的表格 View 单元格上实现了一个详细信息披露按钮来编辑单元格中的现有文本。但问题是,当我单击详细信息披露按钮时,它会显示现有的文本字段,但顶部没有任何“编辑”和“取消”栏按钮项。我已将 segue 标识符名称指定为“EditItem”。我还有另一个名为“AddItem”的 segue,它可以正常工作并显示“Edit”和“Cancel”栏按钮项。我已经多次检查代码以找出问题所在,但没有找到任何解决方案。我想知道如何解决这个问题。

我正在使用 Xcode 6 beta 6 SDK。

最佳答案

您的问题是您添加项目的方式与编辑项目的方式不同。看看这个:

if ([segue.identifier isEqualToString:@"AddItem"]){
        UINavigationController *navigation = segue.destinationViewController;
        AddItemViewController *controller =(AddItemViewController *) navigation.topViewController;
        controller.delegate = self;
    } else if ([segue.identifier isEqualToString:@"EditItem"]){
        UINavigationController *navigation = segue.destinationViewController;
        AddItemViewController *controller = (AddItemViewController *)navigation;
        controller.delegate = self;

        //
        NSIndexPath *indexpath = [self.tableView indexPathForCell:sender];
        controller.itemToEdit = _items[indexpath.row];

    }

请注意,对于 AddItem segue,您将获得如下 View Controller :

AddItemViewController *controller =(AddItemViewController *) navigation.topViewController;

但是对于 EditItem segue 你是这样得到它的:

AddItemViewController *controller =(AddItemViewController *) navigation;

在你的 Storyboard中,AddItem segue 连接到导航 Controller ,然后连接到你的 AddViewController,但是 EditItem segue直接转到 AddViewController

EditItem 连接到 AddItem 所连接的同一导航 Controller 应该可以解决您的问题。

关于ios - 栏按钮项目未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25813816/

相关文章:

objective-c - 带有 setBackgroundColor 的纹理 NSWindow 具有淡灰色背景

ios - 自定义 UITableView 中的分隔符颜色不会改变

ios - 无法转换AnyObject的表达式类型?输入 '$T3'

ios - 容器 View Controller 中的自定义 topLayoutGuide 长度

iOS 应用程序安装网址

ios - 将以下代码转换为 Swift 2.2

objective-c - 如何在iOS中将Flurry从2.8.4升级到3.0.0?

ios - 在单击后退按钮时再次调用 searchBarTextDidBeginEditing 委托(delegate)方法

ios - 如何通过在其上拖动 UIImageView 来获取 UITableView 的行索引

ios - 重新加载 TableView 不起作用