以下代码来自WWDC 2015 Session 702 Apple Pay in Apps - 商场:Apple Pay的简单购物体验
if PKPaymentAuthorizationViewController.canMakePaymentsUsingNetworks(ProductTableViewController.supportedNetworks) {
let button = PKPaymentButton(type: .Buy, style: .Black)
button.addTarget(self, action: #selector(ProductTableViewController.applePayButtonPressed), forControlEvents: .TouchUpInside)
button.center = applePayView.center
button.autoresizingMask = [.FlexibleLeftMargin, .FlexibleRightMargin]
applePayView.addSubview(button)
}
我想知道我们是否可以在IB中创建此按钮。
答案 0 :(得分:2)
您可以通过编辑“自定义类”字段来更改Interface Builder中Identity Inspector中按钮的类。您在此时为其创建的插座应为PKPaymentButton类型。
答案 1 :(得分:0)
我也在寻找这个,事实证明可以使用IB进行设置。 只需在IB中创建UIButton,将其类型设置为PKPaymentButton,然后在UserDefinedRuntimeAttributes中根据需要设置“ style”和“ type”,分别对应于PKPaymentButtonStyle和PKPaymentButtonType。 例如:
type = 1 //corresponding to - PKPaymentButtonTypeBuy
style = 2 //corresponding to - PKPaymentButtonStyleBlack
这就是你最终得到的:
PS。有趣的是,您可以在IB属性中设置cornerRadius,但是如您所见,它不会影响按钮。似乎即使在代码中进行设置也无济于事。因此,如果您不想被矩形PKPaymentButton卡住-只需将其放在视图中即可,您可以将其圆角,并确保在IB(或代码Clip to Bounds
中打勾yourButtonHolder.clipsToBounds = true
)>
答案 2 :(得分:0)
是的,我们可以使用以下几行代码来设置样式和按钮类型。
applePayButton.setValue(paymentButtonStyle.rawValue, forKey: "style") applePayButton.setValue(2, forKey: "type")