ios - 在 Swift 中推送和弹出后视图不显示
问题描述
我试图从一个视图切换到另一个视图,代码运行,但没有任何视图被推送。是因为视图不能同时弹出和推送吗?
推送视图:
func showChatControllerForGroup(_ user: [User], groupName: String) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc: GroupChatMessangingViewController = storyboard.instantiateViewController(withIdentifier: "GroupChatMessangingViewController") as! GroupChatMessangingViewController
vc.group?.members = user
vc.group?.name = groupName
self.navigationController?.pushViewController(vc, animated: true)
}
流行音乐
let transition = CATransition()
transition.duration = 0.5
transition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
transition.type = kCATransitionReveal
transition.subtype = kCATransitionFromBottom
navigationController?.view.layer.add(transition, forKey: nil)
_ = navigationController?.popViewController(animated: true)
let user = self.chosenUser
self.nextVC.showChatControllerForGroup(user, groupName: self.groupNameTextField.text!)
解决方案
只需在弹出视图控制器之前调用委托方法
let transition = CATransition()
transition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
transition.type = kCATransitionReveal
transition.subtype = kCATransitionFromBottom
navigationController?.view.layer.add(transition, forKey: nil)
let user = self.chosenUser
self.nextVC.showChatControllerForGroup(user, groupName: self.groupNameTextField.text!)
_ = navigationController?.popViewController(animated: true)
推荐阅读
- php - 如何为商店启用付款方式
- excel - 如何用大摇大摆的方式发送 REST 响应 excel 文件?
- java - 如何从骆驼路线中的骆驼上下文中获取属性值
- javascript - $(iframe) 显示 null,它在检查 iframe 后显示对象,
- javascript - 如何设置默认文件?
- angular - 在 Jasmine 中模拟导入的类实例
- asp.net-mvc - 如何拥有一个带有 mvc 控制器的 cookie 身份验证和 API 控制器的令牌身份验证的单个 asp.net mvc 项目
- android-studio - ListView 在第一次 Flutter 中不出现
- javascript - 错误:StaticInjectorError(AppModule)[HomePage -> BluetoothSerial]
- ffmpeg - 提取更少的关键帧 (ffmpeg)