带iOS选项卡栏控制器的Braintree下拉式用户界面

带iOS选项卡栏控制器的Braintree下拉式用户界面,ios,swift,uitabbarcontroller,braintree,Ios,Swift,Uitabbarcontroller,Braintree,我正在尝试在iOS应用程序中实现Braintree插件UI。 我从一个视图中呈现下拉式ui,该视图由一个选项卡栏控制器控制。当我尝试在显示下拉列表时切换选项卡时,我的问题就开始了。下拉式界面“后面”的视图变为黑色,直到我关闭下拉式界面才返回。 我想最好的解决办法是当用户切换到另一个选项卡时关闭该插件,但我不知道如何实现它。 我使用Braintree文档中的代码来演示此插件,该代码是: func showDropIn(clientTokenOrTokenizationKey: String) {

我正在尝试在iOS应用程序中实现Braintree插件UI。
我从一个视图中呈现下拉式ui,该视图由一个选项卡栏控制器控制。当我尝试在显示下拉列表时切换选项卡时,我的问题就开始了。下拉式界面“后面”的视图变为黑色,直到我关闭下拉式界面才返回。
我想最好的解决办法是当用户切换到另一个选项卡时关闭该插件,但我不知道如何实现它。

我使用Braintree文档中的代码来演示此插件,该代码是:

func showDropIn(clientTokenOrTokenizationKey: String) {
    let request =  BTDropInRequest()
    let dropIn = BTDropInController(authorization: clientTokenOrTokenizationKey, request: request)
    { (controller, result, error) in
        if (error != nil) {
            print("ERROR")
        } else if (result?.isCancelled == true) {
            print("CANCELLED")
        } else if let result = result {
            // Use the BTDropInResult properties to update your UI
            // result.paymentOptionType
            // result.paymentMethod
            // result.paymentIcon
            // result.paymentDescription
        }
        controller.dismiss(animated: true, completion: nil)
    }
    self.present(dropIn!, animated: true, completion: nil)
}

这个实现的问题是,我没有一个全局方法来消除这个视图。但是,这些文档没有提供不同的实现选项。

好的,因为没有人回答我的问题,所以我问了技术支持。他们并没有提供一个很好的解决方案,但更像是一次绕圈子。此实现修复了它:

self.tabBarController?.present(dropIn!, animated: true, completion: nil)
而不仅仅是

self.present(dropIn!, animated: true, completion: nil)
希望有一天能帮助别人:)