我有一个故事板,我推动这个。我想在启动控制器之前获取情节提要上的控件名称。如何?

Posted

技术标签:

【中文标题】我有一个故事板,我推动这个。我想在启动控制器之前获取情节提要上的控件名称。如何?【英文标题】:I have a storyboard, and I push this. I want to get the name of the control on the storyboard before I launch the controller. how? 【发布时间】:2019-04-09 06:25:24 【问题描述】:

我有一个故事板,我推动它。我想在启动控制器之前在故事板上获取控制器的名称。怎么样?

if let foodSearchVC = UIStoryboard(name: "Search", bundle: nil).instantiateViewController(withIdentifier: "FoodSearchViewController") as? FoodSearchViewController 
    let searchView = foodSearchVC.searchContainView
    transition = Transition(fromView: seatchContainView, toView: searchView ?? UIView())
    navigationController?.delegate = transition
    foodSearchVC.hidesBottomBarWhenPushed = true
    navigationController?.pushViewController(foodSearchVC, animated: true)

这个searchViewnil,但我想得到searchView

【问题讨论】:

【参考方案1】:

您将无法访问foodSearchVC 中的任何子视图,因为它们尚未创建;您只能在foodSearchVC viewDidLoad 之后访问这些内容。

我想我相信你可以在prepareForSegue方法中做你需要做的事情,但是如果你不能,你可以利用NSNotificationCenter

但是,您似乎正在尝试进行自定义转换,而您发布的代码与转换 API 的工作方式并不完全一致。

This fantastic SO article 展示了如何正确地做到这一点

【讨论】:

以上是关于我有一个故事板,我推动这个。我想在启动控制器之前获取情节提要上的控件名称。如何?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用故事板启动应用程序

在多个子类之间共享故事板视图控制器

故事板按钮不会推动 Seque

在 tableview 控制器故事板中添加标签栏

将新的视图控制器链接到情节提要?

IOS 故事板 - 显示选择表格单元格的不同视图