在哪里以编程方式设置 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”

以编程方式更改任务栏设置?

如何以编程方式将控制台字体设置为 Lucida?

Windows 在哪里存储其“打开方式”设置?

以编程方式更新Magento属性

如何以编程方式在android中添加自定义帐户?