Ios 当我向NavigationController演示时“;其视图不在窗口层次结构中&引用;错误
这是我的主Ios 当我向NavigationController演示时“;其视图不在窗口层次结构中&引用;错误,ios,swift,firebase,uinavigationcontroller,firebase-authentication,Ios,Swift,Firebase,Uinavigationcontroller,Firebase Authentication,这是我的主UITabBarController。如果有用户,它就会启动,如果没有用户,它就会显示给SignAndLoginVC() 如果有用户,则myHomeVC()启动时不会出现层次结构问题,但在注销时再次登录,注销后会显示 Seyahapp[16950:1337223]警告:试图 显示其视图不在窗口层次结构中的对象 这就是我在Signandloginvc()中所做的 如果用户单击登录按钮,它将按下LoginVC()。 SignandLoginVC(),LoginVC(),SignupVC()
UITabBarController
。如果有用户,它就会启动,如果没有用户,它就会显示给SignAndLoginVC()
如果有用户,则myHomeVC()
启动时不会出现层次结构问题,但在注销时再次登录,注销后会显示
Seyahapp[16950:1337223]警告:试图
显示其视图不在窗口层次结构中的对象
这就是我在Signandloginvc()中所做的
如果用户单击登录按钮,它将按下LoginVC()
。
SignandLoginVC()
,LoginVC()
,SignupVC()
这三个vc是导航控制器,homeVC
是tabbar控制器
编辑:我在FIRAuth中所做的,例如打印(“123”)。有两次。我是说它会打印
123
123
我无法理解。这是因为您试图从嵌入式(vc on
UINavigationController
或UITabbarController
)视图控制器演示模态视图控制器。根据VC的嵌入位置,从导航或tabbar控制器显示新的模态VC,如self.tabbarController.present(…)
或self.navigationController.present(…)
。希望这有帮助!祝你好运 这是因为您试图从嵌入式(vc onUINavigationController
或UITabbarController
)视图控制器显示模态视图控制器。根据VC的嵌入位置,从导航或tabbar控制器显示新的模态VC,如self.tabbarController.present(…)
或self.navigationController.present(…)
。希望这有帮助!祝你好运 这是因为这两行代码:
let navController = UINavigationController(rootViewController: SALcontroller)
self.present(navController, animated: true, completion: nil)
您创建了一个UINavigationController,它导致了层次结构问题。这是因为以下两行代码:
let navController = UINavigationController(rootViewController: SALcontroller)
self.present(navController, animated: true, completion: nil)
您创建了一个UINavigationController,它导致了层次结构的问题。但是我必须创建一个UINavigationController。使用
navigationController?.popToRootViewController(动画:true)
,检查它是否解决了问题。主要原因是Firebase的addStateDidChangeListener方法在内部调用了两次,这是一个有趣的问题。因此,我决定使用if FIRAuth.auth()?.currentUser==nil而不是addStateDidChangeListener,我的问题已经解决了。但是我必须创建一个UINavigationController。使用navigationController?.popToRootViewController(动画:true)
,而不是三行代码,检查它是否解决了问题。主要原因是Firebase的addStateDidChangeListener方法在内部调用了两次,这是一个有趣的问题。所以我决定使用if FIRAuth.auth()?.currentUser==nil代替addStateDidChangeListener,我的问题已经解决了。
let navController = UINavigationController(rootViewController: SALcontroller)
self.present(navController, animated: true, completion: nil)