Скрыть UIButton от другого View Controller, когда Покупка в приложении производится в Swift - PullRequest
0 голосов
/ 07 июля 2019

У меня есть два контроллера представления, ViewController One является основным с кнопкой, в то время как ViewController Two является покупкой в ​​приложении. Мне нужно скрыть кнопку на ViewController One, когда была совершена покупка в приложении на ViewController Two.

Пожалуйста, предоставьте помощь на Swift Language

Просмотр контроллера Одна кнопка:

@IBOutlet weak var inAppBtn: UIButton!

View Controller Two:

Я отклонил здесь View Controller Two, но мне нужно взять inAppBtn, поместить его внутрь и скрыть.

  @IBAction func continueBtn(_ sender: Any) {
                if SKPaymentQueue.canMakePayments() {
                    let paymentRequest = SKMutablePayment()
                    paymentRequest.productIdentifier = productID
                    dismiss(animated: true, completion: nil)
                    SKPaymentQueue.default().add(paymentRequest)
                } else {
                    print("user unable to make payments")
        }
}

Ответы [ 2 ]

0 голосов
/ 07 июля 2019

При изменении ситуации покупки (т. Е. Пользователь приобрел), вы всегда должны хранить факт покупки в центральном постоянном местоположении, например, по умолчанию для пользователя.

Теперь любой контроллер представления может проверить с помощью UserDefaults.в viewWillAppear или в другом месте и внесите необходимые изменения, например, скрытие кнопки, если пользователь уже приобрел ее.

(Если вы хотите, чтобы видимый интерфейс сразу же изменялся при покупке, вы можете также используйте NotificationCenter для публикации уведомления, на которое другие контроллеры представления могут зарегистрироваться, чтобы услышать об изменении.)

0 голосов
/ 07 июля 2019

вы можете попытаться добавить это в вашем func continueBtn, прежде чем закрыть в ViewControllerTwo

if let firstVc = self.presentingViewController as? ViewControllerOne{
    firstVc.yourButton.isHidden = true
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...