我有ChatViewController
,我将其设置在navigationItem.titleView
UIView
中,其中包含UIImageView
。我在viewWillAppear
中为UIImageView安装了图像,一切正常。但是,当我通过点击“通知”按钮打开ChatViewController
时,UIImageView
会在右上角显示一张图片。我尝试了各种选择,但他们帮助了我。请告诉我如何解决这个问题?谢谢。
override func viewDidLoad() {
super.viewDidLoad()
ChatGeneralManager.shared.enterChatViewController()
super.chatItemsDecorator = ChatItemsDecorator()
// Settings
setupSettings()
// UI
addProfileImageView()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
setupConversationImage()
}
private func addProfileImageView() {
guard friendImageView == nil else { return }
let titleView = UIView(frame: CGRect(x: 0, y: 0, width: 35, height: 35))
friendImageView = UIImageView()
friendImageView.layer.cornerRadius = 35 / 2
friendImageView.frame = titleView.bounds
friendImageView.layer.masksToBounds = true
titleView.addSubview(friendImageView)
friendImageView.contentMode = .scaleAspectFill
friendImageView.clipsToBounds = true
navigationItem.titleView = titleView
}
当我切换到推送通知时,这就是TitleView的样子,当然,当屏幕完全打开时,它就在中心。当然,有一个选项可以在viewDidAppear中设置图像,但是在那里可以注意到TitleView在开头是空的。这是非常有趣的,为什么当简单的开放工作很好,当他按下推送通知,这是一个非常不利的。在那里,打开ChatViewController,这个函数
navigationController?.pushViewController(chatViewController, animated: true)