我有一个故事板,然后按此。在启动控制器之前,我想在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)
}
这个searchView
是nil
,但是我想得到searchView
答案 0 :(得分:2)
您将无法访问foodSearchVC
中的任何子视图,因为它们尚未创建;您只能在foodSearchVC viewDidLoad
之后访问它们。
我相信您可以使用prepareForSegue
方法来完成您需要做的事情,但是,如果您不能使用NSNotificationCenter
但是,您似乎正在尝试进行自定义过渡,而您发布的代码并不完全是过渡API的工作原理。
This fantastic SO article显示了如何正确执行此操作