我有一个情节提要,然后按此。我想在启动控制器之前在情节提要上获得控件的名称。怎么样?

时间:2019-04-09 06:25:25

标签: ios swift storyboard

我有一个故事板,然后按此。在启动控制器之前,我想在StoryBoard上获得控制器的名称。怎么样?

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 个答案:

答案 0 :(得分:2)

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

我相信您可以使用prepareForSegue方法来完成您需要做的事情,但是,如果您不能使用NSNotificationCenter

但是,您似乎正在尝试进行自定义过渡,而您发布的代码并不完全是过渡API的工作原理。

This fantastic SO article显示了如何正确执行此操作