我正在尝试在我的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)


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

09-27 05:30