条形按钮项目未显示

时间:2014-09-12 17:36:37

标签: ios objective-c uitableview xcode6-beta6

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

我正在使用Xcode 6 beta 6 SDK。

1 个答案:

答案 0 :(得分:1)

您的问题是您没有像编辑项目那样添加项目。看看这个:

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,您将获得如下视图控制器:

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

但对于EditItem segue,你会得到这样的结果:

AddItemViewController *controller =(AddItemViewController *) navigation;

在您的故事板中,AddItem segue连接到导航控制器,然后导航控制器连接到AddViewController,但EditItem segue直接转到AddViewController

EditItem连接到相同的导航控制器AddItem,以解决您的问题。