Zendesk iOS - UIBarButtonItem не отображается в экземпляре обмена сообщениями ViewController - PullRequest
0 голосов
/ 09 июля 2020

Недавно я интегрировал Zendesk в свой проект iOS и столкнулся с проблемой при создании экземпляра пользовательского интерфейса Messaging, который затем программно вставляю в UINavigationController. У меня есть следующий код:

import AnswerBotSDK
import AnswerBotProvidersSDK
import ChatSDK
import ChatProvidersSDK
import MessagingSDK
import SupportSDK
import SupportProvidersSDK
import ZendeskCoreSDK

final class ZendeskController {
    init() {
        // ...Zendesk config stuff
    }

    func createInstance() -> UIViewController? {
        do {
            let requestConfiguration = RequestUiConfiguration()
            let messagingConfiguration = MessagingConfiguration()
            let answerBotEngine = try AnswerBotEngine.engine()
            let supportEngine = try SupportEngine.engine()
            let chatEngine = try ChatEngine.engine()
            
          
            let zendeskVC = try Messaging.instance.buildUI(
              engines: [answerBotEngine, supportEngine, chatEngine],
              configs: [messagingConfiguration, requestConfiguration]
            )

            return zendeskVC
        } catch let error {
            print("Error launching Zendesk: \(error)") //TODO: inform user
            return nil
        }
    }
}

Когда я go представляю UIViewController, сгенерированный createInstance() в другом контроллере по моему выбору, я делаю следующее:

if let zendeskSupportVC = ZendeskController().createInstance() {
    zendeskSupportVC.title = NSLocalizedString("Contact Us", comment: "Contact Us")
    let dismissBtn = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(dismissSupportPage))

    zendeskSupportVC.navigationItem.rightBarButtonItem = dismissBtn
    let navigationController = UINavigationController(rootViewController: zendeskSupportVC)

    self.present(navigationController, animated: true)
}

Проблема, с которой я столкнулся, заключается в том, что, несмотря на то, что я создал UIBarButtonItem и добавил его как rightBarButtonItem в контроллер представления Zendesk, он не отображается в UINavigationController, в который я встраиваю его, когда я go, чтобы представить это модально. Кто-нибудь еще сталкивался с этой проблемой?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...