如果我试图在另一个添加为子视图的视图控制器上添加子视图,我的应用程序就会挂起。
有什么方法可以获得视图背景中的视图控制器吗?以便我可以移除处于视图背景中的视图控制器。
图像1
图像2
let viewController = UIStoryboard(name: "Common", bundle: nil).instantiateViewController(withIdentifier: "ContactOptionsDialouge") as! ContactOptionsDialouge
viewController.initializeDataBeforePresentingView(presentConatctUserBasicInfo : userBasicInfo,supportCall: checkAndEnableCallOption(callSupport: matchedUser!.callSupport), delegate: nil, isRideStarted: isRideStarted!)
self.navigationController?.view.addSubview(viewController.view)
self.navigationController?.addChildViewController(viewController)
这是我用来添加视图控制器作为子视图的代码。另一个俯视控制器,当另一个用户使用mqtt连接接受乘坐时,它会自动出现
您的代码似乎没有崩溃。如果相关,您可以使用以下代码:
guard let viewController = UIStoryboard(name: "Common", bundle: nil).instantiateViewController(withIdentifier: "ContactOptionsDialouge") as? ContactOptionsDialouge else { print("viewController is nil"); return; }
guard let matchedUser = self.matchedUser else { print("matchedUser is nil"); return; }
guard let isRideStarted = self.isRideStarted else { print("isRideStarted is nil"); return; }
viewController.initializeDataBeforePresentingView(presentConatctUserBasicInfo: userBasicInfo, supportCall: checkAndEnableCallOption(callSupport: matchedUser.callSupport), delegate: nil, isRideStarted: isRideStarted)
self.view.addSubview(viewController.view)
self.addChildViewController(viewController)
self.navigationController?.view.addSubview(viewController.view)
self.navigationController?.addChildViewController(viewController)
添加下面的代码行而不是上面的代码行对我来说很好:-
self.view.addSubview(viewController.view)
self.addChildViewController(viewController)