prepareForSegue 调用但不加载下一个 UIViewController
Posted
技术标签:
【中文标题】prepareForSegue 调用但不加载下一个 UIViewController【英文标题】:prepareForSegue called but not loading the next UIViewController 【发布时间】:2014-07-30 16:49:16 【问题描述】:我正在处理一个带有两个 UIViewController 的应用程序。当应用程序启动时,会触发 LoaderViewController。在该视图控制器上,我正在设置要启动的应用程序,然后尝试进入 ViewController。问题是 prepareForSegue 方法被正确调用,但它什么也没做。我正在尝试以与以前相同的方式进行导航。我可能在这里缺少什么?我还是 ios 开发的新手。
class LoaderViewController: UIViewController
@IBOutlet weak var applicationLoadingIndicator: UIActivityIndicatorView!
override func didReceiveMemoryWarning()
super.didReceiveMemoryWarning()
override func viewDidLoad()
super.viewDidLoad()
applicationLoadingIndicator.startAnimating()
self.performSegueWithIdentifier("ToMenuViewController", sender: self)
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!)
var vc: ViewController = segue.destinationViewController as ViewController
这是故事板的图像:
编辑 - 解决方案:
解决方案是将 performSegueWithIdentifier 调用更改为 viewDidAppear() 方法。
【问题讨论】:
能否分享你的故事板截图以及你如何命名你的segues? Ofc!为帖子添加了图片。 【参考方案1】:你不应该在viewDidLoad
中继续前进,因为那还为时过早。至少,您应该转而使用viewDidAppear
。
【讨论】:
以上是关于prepareForSegue 调用但不加载下一个 UIViewController的主要内容,如果未能解决你的问题,请参考以下文章
prepareForSegue 在 performSegue 之前调用