Swift 以编程方式从UiView推送新视图控制器时出现问题
我试图在按下UiView内部的按钮后显示一条消息viewController。当我按下按钮时,viewController会自动显示消息,但它缺少一些数据。我有一个单独的viewController,可以推动控制器。我会在下面留下一些图片来说明我在说什么 这就是消息视图控制器应该是什么样子,这就是代码到达那里的样子Swift 以编程方式从UiView推送新视图控制器时出现问题,swift,xcode,uiview,pushviewcontroller,didselectrowatindexpath,Swift,Xcode,Uiview,Pushviewcontroller,Didselectrowatindexpath,我试图在按下UiView内部的按钮后显示一条消息viewController。当我按下按钮时,viewController会自动显示消息,但它缺少一些数据。我有一个单独的viewController,可以推动控制器。我会在下面留下一些图片来说明我在说什么 这就是消息视图控制器应该是什么样子,这就是代码到达那里的样子 override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
dismiss(animated: true) {
print("Dismiss completed")
let user = self.user[indexPath.row]
self.messagesController?.showChatControllerForUser(user)
}
}
这就是当我从UiView推送视图时发生的情况,这就是代码到达那里的样子
@objc func handleNewMessage() {
let chatLogController = ChatLogController(collectionViewLayout: UICollectionViewFlowLayout())
chatLogController.user = user
let navVC = UINavigationController(rootViewController:chatLogController)
self.window?.rootViewController?.present(navVC, animated: true, completion: nil)
}
所有的数据都通过了,但是后退按钮不见了,我不允许实际发送消息。我使用两种不同的方法到达同一个控制器,我希望看到相同的结果。我想知道是否有人可能是新的如何解决这个问题 后退按钮未显示,因为您正在使用下面的功能显示
chatLogController
@objc func handleNewMessage() {
let chatLogController = ChatLogController(collectionViewLayout: UICollectionViewFlowLayout())
chatLogController.user = user
let navVC = UINavigationController(rootViewController:chatLogController)
self.window?.rootViewController?.present(navVC, animated: true, completion: nil)
}
如果从messagescoontroller
按到chatLogController
,则在chatLogController
上显示后退按钮
注意:当您按下另一个
viewController
时,返回按钮会自动显示,当您显示viewController
时,返回按钮不会显示。我对此建议有异议。我使用此特定视图遇到问题的唯一原因是,当我使用handleNewMessage访问chatLongController时,无法访问它的所有功能。用户名显示在导航栏中,但当我发送消息时,它会崩溃。我在想我在动画中缺少了一个初始值设定项?