首页 > 解决方案 > 并非所有 Stripe 占位符都一次在我的屏幕上可见

问题描述

嗨,我试图在我的屏幕上一次显示所有三个占位符,并且在我更改了条纹支付文本字段名称STPPaymentCardTextField中的占位符名称之后

我像这样在故事板中给占位符命名

在此处输入图像描述

但是当我在模拟器中运行我的程序时,我得到了这个输出:

在此处输入图像描述

每当我尝试在文本字段中输入那些选择的详细信息时,它只会显示占位符,例如

在此处输入图像描述

我想显示 4242424242424242 的占位符卡号替换如何解决此问题。

  @IBOutlet weak var cardview: STPPaymentCardTextField!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.  
        cardview.numberPlaceholder = "CardNumber"
        cardview.cvcPlaceholder = "CVC"
        cardview.expirationPlaceholder = "MM/YY"
    }*

标签: iosswiftstripe-paymentsplaceholder

解决方案


首先,您不需要在情节提要或 viewDidLoad 中为 MM/YY 和 CVC 设置自定义占位符,因为它们已经是默认占位符,请参阅STPPaymentCardTextField.h上的代码参考:

/**
 The placeholder for the expiration field. Defaults to @"MM/YY".
 */
@property (nonatomic, copy, nullable) IBInspectable NSString *expirationPlaceholder;

/**
 The placeholder for the cvc field. Defaults to @"CVC".
 */
@property (nonatomic, copy, nullable) IBInspectable NSString *cvcPlaceholder;

关于您无法在一个屏幕上直接看到作者的所有三个占位符的问题:

这是故意的。如果您在 CC 字段中输入有效的信用卡号,它将滑开以显示到期和 CVC 字段。

在像 iPad 这样的大屏幕中,横向模式下的这些通常是所有三个同时可见的,因为它们可以一起放入屏幕中。


推荐阅读