带有iOS标签栏控制器的Braintree插件用户界面

时间:2018-04-16 07:40:18

标签: ios swift uitabbarcontroller braintree

我正在尝试在我的iOS应用中实现Braintree drop-in UI 我正在使用Tab Bar Controller控制器的其中一个视图呈现drop-in ui。当我尝试在显示插件时切换选项卡时,我的问题就出现了。插入ui后面的视图变黑,直到我关闭插入后才会返回。
我认为最好的解决方案是在用户切换到另一个标签时关闭插入,但我无法弄清楚如何实现它。

要使用Braintree docs中的代码,我将使用以下代码:

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)
}

此实现的问题是我没有全局方法来关闭此视图。但是,文档不提供不同的实现选项。

1 个答案:

答案 0 :(得分:0)

好的,既然没有人回答我的问题,我就向技术支持人员询问了。他们没有提供很好的解决方案,而是更多的解决方案。此实现修复了它:

self.tabBarController?.present(dropIn!, animated: true, completion: nil)

而不仅仅是

self.present(dropIn!, animated: true, completion: nil)

希望有一天能帮助某人:)