屏幕从后面出来
The screen comes out from behind
我不知道为什么会这样,我已经在项目中有类似的功能,但没有发生这种情况。
当我删除帐户并回到上一个屏幕时,或者如果用户在后台并再次打开它,下面的 2 种方法会导致您被转到主屏幕,但我检测到这个问题(在图片中)
有删除账号回家时的功能
private func goToHomeWithLogin(){
let home = HomeAssembly.presenterView()
Utils.getTopViewController()?.present(home, animated: true)
getTopViewController 这样做:
func getTopViewController() -> UIViewController? {
if let viewController = UIApplication.shared.keyWindow?.rootViewController {
if let modal = UIApplication.shared.keyWindow?.rootViewController?.presentedViewController {
return modal
} else if let navigationController = viewController as? UINavigationController {
return navigationController
}
}
return nil
}
When I drag down the screen comes out from behind
看起来像 UIViewController.present(...) 的默认卡片样式,如果您想要它全屏显示(没有向下滑动功能),请尝试 home.modalPresentationStyle = .fullScreen 然后再显示它
let home = HomeAssembly.presenterView()
home.modalPresentationStyle = .fullScreen
Utils.getTopViewController()?.present(home, animated: true)
我不知道为什么会这样,我已经在项目中有类似的功能,但没有发生这种情况。
当我删除帐户并回到上一个屏幕时,或者如果用户在后台并再次打开它,下面的 2 种方法会导致您被转到主屏幕,但我检测到这个问题(在图片中)
有删除账号回家时的功能
private func goToHomeWithLogin(){
let home = HomeAssembly.presenterView()
Utils.getTopViewController()?.present(home, animated: true)
getTopViewController 这样做:
func getTopViewController() -> UIViewController? {
if let viewController = UIApplication.shared.keyWindow?.rootViewController {
if let modal = UIApplication.shared.keyWindow?.rootViewController?.presentedViewController {
return modal
} else if let navigationController = viewController as? UINavigationController {
return navigationController
}
}
return nil
}
When I drag down the screen comes out from behind
看起来像 UIViewController.present(...) 的默认卡片样式,如果您想要它全屏显示(没有向下滑动功能),请尝试 home.modalPresentationStyle = .fullScreen 然后再显示它
let home = HomeAssembly.presenterView()
home.modalPresentationStyle = .fullScreen
Utils.getTopViewController()?.present(home, animated: true)