Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 导航项标题推送通知后查看错误位置_Ios_Swift_Uiimageview_Uinavigationbar_Uinavigationitem - Fatal编程技术网

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不不幸的是,这对我没有帮助