나는 프로그래밍 방식으로보기를 제시 할 때 내 응용 프로그램 충돌/빈 검은보기를 보여줍니다.AppDelegate 현재 viewController 충돌/빈 화면
vc의 열기는 사용자가 알림을 클릭 할 때 발생합니다. 탭바, 탐색 컨트롤러 및 탭 모음의 첫 번째 VC에서 연결할 수있는보기가 있습니다.
내가 vc (push)에 푸시 된 viewDidLoad()의 모든 것을 삭제할 때 내 응용 프로그램이 충돌 할 때 내 응용 프로그램이 중단되지만 내 응용 프로그램은 vc하지만 비어 있고 검은 색으로 표시됩니다. 내 앱 대리인 푸시 코드. chatvc가 아니라 모든 뷰 컨트롤러를 사용해 보았는데 같은 지점에서 충돌이 발생했습니다.
let chatVc = AllChatsViewController()
if let tabbarControler = window?.rootViewController as? MainTabBarController {
tabbarControler.selectedIndex = 0
//tabbarControler.presentedViewController?.dismiss(animated: true, completion: nil)
if let homeNav = tabbarControler.viewControllers?.first as? UINavigationController {
homeNav.pushViewController(chatVc, animated: true)
print(followerId)
}
}
}
업데이트 호출 될의 ViewController하지만 둘의 viewDidLoad 또는 다른 기능에 예상대로 그것은 지금 밀어
if let chatPartnerId = userInfo["chatPartnerId"] {
let storyboard = UIStoryboard(name:"Chat", bundle: Bundle.main)
guard let chatVC = storyboard.instantiateViewController(withIdentifier: "MessageViewController") as? MessageViewController else {return}
chatVC.userId = chatPartnerId as! String
if let tabbarControler = window?.rootViewController as? MainTabBarController {
tabbarControler.selectedIndex = 0
tabbarControler.presentedViewController?.dismiss(animated: true, completion: nil)
if let homeNav = tabbarControler.viewControllers?.first as? UINavigationController {
homeNav.pushViewController(chatVC, animated: true)
}
}
, 어떤 아이디어?
이것을 시도하십시오 : https://stackoverflow.com/a/47131085/6680583 – Mannopson
나는 이것을 시도해 보았습니다. self.window를 설정 하시겠습니까? .rootViewController = tabBarController self.window? .makeKeyAndVisible() –