我在我的表格 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/