Так что документация Брэйнтри по теме немного не подходит для формулировки IMO.
Инструкция вводит меня в заблуждение: «Чтобы использовать темную тему вместо этого, вызовите этот метод перед инициализацией Drop-in». Тем не менее, вы должны инициализировать или создать инсталляцию перед установкой darkTheme.
Инструкция может быть лучше читать: «Чтобы использовать темную тему вместо этого, вызовите этот метод перед представлением Drop-in»
Вот мой рабочий код:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
showDropIn(clientTokenOrTokenizationKey: clientToken)
}
func showDropIn(clientTokenOrTokenizationKey: String) {
let request = BTDropInRequest()
request.vaultManager = true
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)
}
BTUIKAppearance.darkTheme()
BTUIKAppearance.sharedInstance()?.primaryTextColor = UIColor.lightGray
self.present(dropIn!, animated: true, completion: nil)
}