将现有的UIButton重新用作Swift中的Apple Pay按钮

问题描述

在我们的结帐过程中,我们有一个现有的UIButton用于提交订单。当我们开始支持Apple Pay时,我们希望回收现有按钮并显示Apple Pay选项。

在故事板上,我们放置了一个UIButton并将其连接到我们的UIViewController类。我不想初始化另一个专门用于PKPaymentButton的按钮,而是要做类似的事情:

submit_order_btn = PKPaymentButton(paymentButtonType: .buy,paymentButtonStyle: .black)

但是,这无法正常工作并引发警告:由于属性'submit_order_btn'为'弱',实例将被立即释放。

由于在按下按钮时会进行一些基本的验证检查,因此我想简单地更新按钮样式本身,而不影响与按钮相关的任何操作。

我还创建了PKPaymentButton并将其作为子视图添加到现有按钮中,但是它破坏了其他工作流程的按钮功能,我现在必须跟踪子视图才能弹出/推入UIButton。

apple_pay_button = PKPaymentButton(paymentButtonType: .inStore,paymentButtonStyle: .black)
            apple_pay_button.frame = CGRect.init(x: 10,y: 10,width: submit_order_btn.frame.width-20,height: submit_order_btn.frame.height-20)
            submit_order_btn.addSubview(apple_pay_button)

我希望有一个更好的方法,可以简单地更新UIButton样式以匹配PKPaymentButton。我也不想手动重新创建按钮,因为它违反了Apple's recommendations

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)