Stripe iOS изменить название кнопки назад - PullRequest
0 голосов
/ 25 октября 2018

Есть способ изменить заголовок кнопки отмены полосы?

Stripe PaymentMethodsController

Мне нужно изменить его на «Назад», фактически «Назад»"это лучшее слово для описания его поведения.

Я представляю контроллер таким образом:

let customerContext = STPCustomerContext(keyProvider: StripeClient.shared)
let paymentMethodsViewController = STPPaymentMethodsViewController(configuration: STPPaymentConfiguration.shared(), theme: STPTheme.default(), customerContext: customerContext, delegate: self as STPPaymentMethodsViewControllerDelegate)
let navigationController = UINavigationController(rootViewController: paymentMethodsViewController)
present(navigationController, animated: true)

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Перейдите к STPCoreViewController.m в файлах полос.

Просто замените этот метод

- (void)commonInitWithTheme:(STPTheme *)theme {
_theme = theme;

if (![self useSystemBackButton]) {
    self.cancelItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
                                                                    target:self
                                                                    action:@selector(handleCancelTapped:)];

    self.stp_navigationItemProxy.leftBarButtonItem = self.cancelItem;
    }
}

на

- (void)commonInitWithTheme:(STPTheme *)theme {
_theme = theme;

if (![self useSystemBackButton]) {

    self.cancelItem = [[UIBarButtonItem alloc]
                                   initWithTitle:@"Back"
                                   style: UIBarButtonItemStylePlain
                                   target:self
                                   action:@selector(handleCancelTapped:)];

    self.stp_navigationItemProxy.leftBarButtonItem = self.cancelItem;
    }
}
0 голосов
/ 25 октября 2018
override func pushViewController(_ viewController: UIViewController, animated: Bool) {
    // first
    let backItem = UIBarButtonItem()
    backItem.title = "Back"
    self.viewControllers.last?.navigationItem.backBarButtonItem = backItem
    // then
    super.pushViewController(viewController, animated: animated)

}
...