在哪里以编程方式设置 TableViewController 的 UIBarButtonItem 和单元格“segue”
Posted
技术标签:
【中文标题】在哪里以编程方式设置 TableViewController 的 UIBarButtonItem 和单元格“segue”【英文标题】:Where to set up a TableViewController's UIBarButtonItem & cell "segue" programmatically 【发布时间】:2012-12-04 12:29:38 【问题描述】:我有一个可以从其他两个视图控制器转换到的 TableViewController;一个通过 segue 转换,另一个以编程方式转换。通过 segue 转换时一切正常,但是当 TableViewController 在编程转换后出现时,UIBarButtonItem 丢失并且单元格 segue 不起作用(它应该将用户带到新屏幕)。
我猜是因为 UIBarButtonItem 和 cell segue 是在 Storyboard 中设置的,所以当 TableViewController 以编程方式加载时它们不会被加载。所以,我假设我需要在某个地方手动加载它们。我的问题是合适的地方在哪里?
感谢阅读。
编辑: 这是转换的代码:
OtherTVC *otherTVC=[[OtherTVC alloc] init];
[self.navigationController pushViewController:otherTVC animated:YES];
这与地图图钉的标注附件相关联。
【问题讨论】:
程序化过渡的代码是什么样的? 感谢您的回复。代码见上。 【参考方案1】:要获取在故事板中创建的控制器实例,请尝试给它一个标识符并使用instantiateViewControllerWithIdentifier:
而不是alloc/init
路由。如果运行代码的当前控制器来自同一个故事板,则可以通过控制器的 storyboard
属性获取对它的引用,以便进行调用。
【讨论】:
感谢您的评论。为了给控制器一个标识符,是否需要更改 Identity Inspector 中的“Storyboard ID”字段? (还有“使用 Storyboard ID”复选框?) 看起来答案是肯定的。现在可以正常使用了,谢谢!以上是关于在哪里以编程方式设置 TableViewController 的 UIBarButtonItem 和单元格“segue”的主要内容,如果未能解决你的问题,请参考以下文章
在哪里以编程方式设置 TableViewController 的 UIBarButtonItem 和单元格“segue”