以下代码来自WWDC 2015 Session 702 应用内的Apple Pay-商场: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中创建此按钮。
最佳答案
我也在寻找此对象,事实证明可以使用IB进行设置。
只需在IB中创建一个UIButton,将其类型设置为PKPaymentButton,然后在UserDefinedRuntimeAttributes中根据需要设置“样式”和“类型”,分别对应于PKPaymentButtonStyle和PKPaymentButtonType。
例如:
type = 1 //corresponding to - PKPaymentButtonTypeBuy
style = 2 //corresponding to - PKPaymentButtonStyleBlack
Example Setup
这就是您最终得到的:
Example Button
PS。有趣的是,您可以在IB属性中设置cornerRadius,但是如您所见,它不会影响按钮。似乎即使在代码中进行设置也无济于事。因此,如果您不想被矩形PKPaymentButton卡住-只需将其放在一个 View 中即可,您可以在其拐角处四舍五入并确保在IB(或代码
Clip to Bounds
)中打勾yourButtonHolder.clipsToBounds = true
。关于ios - 如何在IB中创建PKPaymentButton?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37614025/