我有一个故事板,然后按此按钮。在启动控制器之前,我想在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

最佳答案

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

我相信,您可以在prepareForSegue方法中完成您需要做的事情,但是,如果您做不到,则可以利用NSNotificationCenter
但是,您似乎正在尝试执行自定义过渡,而您发布的代码并不完全是过渡API的工作方式。

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

关于ios - 我有一个 Storyboard ,然后按此。我想在启动 Controller 之前在 Storyboard 上获得控件的名称。怎么样?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55586341/

10-13 04:17