Ios 导航项标题推送通知后查看错误位置
我有一个Ios 导航项标题推送通知后查看错误位置,ios,swift,uiimageview,uinavigationbar,uinavigationitem,Ios,Swift,Uiimageview,Uinavigationbar,Uinavigationitem,我有一个ChatViewController,我在导航项中设置了它。titleViewUIView,其中包含UIImageView。我将UIImageView的图像安装在视图中,它将出现,一切正常。但是,当我通过单击通知按钮打开ChatViewController时,UIImageView在右角有一张图片。我尝试了各种选择,但它们帮助了我。请告诉我如何解决这个问题?多谢各位 override func viewDidLoad() { super.viewDidLoad()
ChatViewController
,我在导航项中设置了它。titleView
UIView
,其中包含UIImageView
。我将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
}
这就是当我切换到Push Notification时TitleView的外观,当然,当屏幕完全打开时,它位于中间。当然,有一个选项可以设置ViewDidDisplay中的图像,但是在那里可以注意到TitleView在开始时是空的。非常有趣的是,为什么在简单打开时效果很好,当他按下推送通知时,这是一个非常不利的条件。此时,要打开ChatViewController,此函数
navigationController?.pushViewController(chatViewController, animated: true)
您是否尝试过将其设置为“viewDidLayoutSubviews()”?@unniverzal否,我只在viewWillLayoutSubviews中尝试过,现在我将尝试这样做so@unniverzal不,不幸的是,这对我没有帮助。您是否尝试过将其设置为“viewDidLayoutSubviews()”?@unniverzal不,我只在viewWillLayoutSubviews中尝试过,现在我将尝试这样做so@unniverzal不不幸的是,这对我没有帮助