2014-10-28 14 views
5

Ich bin in der Lage, die Stripe mit meinem iOS-Code perfekt zu integrieren. Die PTKView zeigt die Kartennummer, den Ablaufmonat/das Jahr, die CVV-Nummer an. In PTKView wird das Postleitzahlfeld nicht angezeigt, aber ich kann die addressZip-Eigenschaft sehen.Stripe iOS-Integration - So fügen Sie PLZ zu PTKView

Ist es möglich, die Postleitzahl mit iOS Stripe-Ansicht zu erfassen?

Vielen Dank im Voraus.

Antwort

1

Es sieht nicht so aus, als ob PTKView eine (noch) vorhandene UI-Adresskomponente besitzt. Sie geben Ihnen jedoch den PTKAddressZip-Typ, um zu überprüfen, ob die eingegebene Postleitzahl gültig ist.

Ich habe mein eigenes ZIP-Feld erstellt, das genau wie das Kreditkartenfeld aussieht. Dabei wird das mitgelieferte "textField.png" -Bild verwendet, das mit PaymentKit geliefert wird.

Hier ist sie, sowohl in Objective C und Swift Beispiele ...

Objective-C:

UITextField *zipTextField; 

zipTextField = [[UITextField alloc] initWithFrame: CGRectMake(15,170,290,55)]; 
zipTextField.keyboardType = UIKeyboardTypeNumberPad; 
zipTextField.placeholder = @"ZIP Code"; 

//Left padding 
UIView *paddingView = [[UIView alloc ] initWithFrame:CGRectMake(0, 0, 5, 20)]; 
zipTextField.leftView = paddingView; 
zipTextField.leftViewMode = UITextFieldViewModeAlways; 

//Make it look like the CC box 
UIImageView *backgroundImageView = [[UIImageView alloc] initWithFrame:zipTextField.bounds]; 

backgroundImageView.image = [[UIImage imageNamed: @"textField"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 8, 0, 8)]; 
[zipTextField addSubview:backgroundImageView]; 

//Add the ZIP field finally 
[self.view addSubview:zipTextField]; 

//Validate the zip - Put this code in your Submit button 
PTKAddressZip *zip = [[PTKAddressZip alloc] initWithString:zipTextField.text]; 
NSLog(zip.isValid ? @"ZIP is valid" : @"ZIP is invalid"); 

SWIFT:

//Setup ZIP field 
    self.zipTextField = UITextField(frame: CGRectMake(15,170,290,45)) 
    self.zipTextField.keyboardType = UIKeyboardType.NumberPad 
    self.zipTextField.placeholder = "ZIP Code" 

    //Left padding 
    var paddingView = UIView(frame:CGRectMake(0, 0, 5, 20)) 
    self.zipTextField.leftView = paddingView 
    self.zipTextField.leftViewMode = UITextFieldViewMode.Always 

    //Make it look like the CC box 
    var backgroundImageView = UIImageView(frame:self.zipTextField.bounds) 

    backgroundImageView.image = UIImage(named: "textField") 
    backgroundImageView.image = backgroundImageView.image?.resizableImageWithCapInsets(UIEdgeInsetsMake(0,8,0,8)) 
    self.zipTextField.addSubview(backgroundImageView) 

    //Validate the zip - Put this code in your Submit button 
    self.view.addSubview(self.zipTextField) 
    var zip = PTKAddressZip(string: "15227") 
    NSLog(zip.isValid().description)