默认导航控制器动画在API成功块内不起作用。
API.shared.sendData(url: APIPath.getData, requestType: .post, params: [:], objectType: RootObj.self) { (data) in
guard let responseData = data else { return }
print(responseData)
if responseData.success! {
if responseData.data != nil {
self.data = responseData.data
let vc = Utilities.shared.getViewController(identifier: MyViewController.className, storyboardType: .user) as! MyViewController
vc.data = self.data
self.navigationController?.pushViewController(vc, animated: true)
} else {
self.showAlertOK(APP_NAME, message: responseData.message ?? "Data not found")
}
} else {
self.showAlertOK(APP_NAME, message: responseData.message ?? "Response Failure")
}
}
如果我在API块外部调用pushViewController,则导航控制器将显示默认的从右到左动画。请帮助我如何实现API块内的默认动画?
可能您正在从后台线程调用该pushViewController。您应该始终仅从主线程进行UI操作。使用:
DispatchQueue.main.async {
self.navigationController?.pushViewController(vc, animated: true)
}