以下代码来自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/

10-14 23:44