我有两个视图控制器,其中一个是ViewController,其中一个是主要的按钮,而另一个是ViewController,则是应用程序内购买。在ViewController 2上进行应用内购买后,我需要在ViewController One上隐藏一个按钮。
请提供Swift语言帮助
查看控制器一个按钮:
@IBOutlet weak var inAppBtn: UIButton!
视图控制器二:
我在这里解雇了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")
}
}
答案 0 :(得分:0)
您可以尝试在功能中添加此代码,然后在ViewControllerTwo中关闭它
if let firstVc = self.presentingViewController as? ViewControllerOne{
firstVc.yourButton.isHidden = true
}
答案 1 :(得分:0)
当购买情况发生变化(即用户购买)时,您应始终将购买的事实存储在中央永久位置,例如“用户默认值”。
现在,任何视图控制器都可以使用viewWillAppear
或其他位置的UserDefaults进行检查,并进行任何必要的更改,例如如果用户已经购买,则隐藏按钮。
(如果您希望可见的界面在用户购买时立即更改,那么您也可以 使用NotificationCenter发布通知,其他视图控制器可以注册该通知以了解更改。)