iOS 用于输入货币、信用卡号和到期日期的用户界面控件和格式化工具。
卡标志图像由 http://www.shopify.com/blog/6335014-32-free-credit-card-icons 提供
类 | 描述 |
---|---|
BKCardNumberField |
UITextField 的子类,支持格式化卡号。您可以设置 showsCardLogo 为 YES 以显示卡标志图片。 |
BKCardNumberLabel |
UILabel 的子类,显示格式化的卡号和卡品牌标志。您可以通过配置 cardNumberFormatter 来设置卡号掩码。 |
BKCardNumberFormatter |
NSFormatter 的子类。该类包含卡号模式信息,并按照模式进行格式化。您可以自定义掩码行为、掩码字符和分组分隔符字符。 |
BKCardExpiryField |
UITextField 的子类,支持格式化卡号到期日期。 |
BKCurrencyTextField |
UITextField 的子类,支持格式化金额。您可以通过更改 numberFormatter 的 currencyCode 属性来更改货币。 |
// create (you can also use interface builder)
BKCardNumberField *cardNumberField = [[BKCardNumberField alloc] initWithFrame:CGRectMake(0, 0, 300, 40)];
cardNumberField.showsCardLogo = YES;
[self.view addSubview:cardNumberField];
// get card number
NSString *cardNumber = cardNumberField.cardNumber;
// get card company name
NSString *companyName = cardNumberField.cardCompanyName;
BKCardNumberLabel *cardNumberLabel = [[BKCardNumberLabel alloc] initWithFrame:CGRectMake(0, 0, 300, 40)];
// set masking character. BLACK CIRCLE (0x25CF)
cardNumberLabel.cardNumberFormatter.maskingCharacter = @"●";
// masking second and third group.
cardNumberLabel.cardNumberFormatter.maskingGroupIndexSet = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(1, 2)];
BKCardExpiryField *field = [[BKCardExpiryField alloc] init];
// get month
NSInteger month = field.dateComponents.month;
// get year
NSInteger year = field.dateComponents.year;
BKCurrencyTextField *field = [[BKCurrencyTextField alloc] init];
// change currency
field.numberFormatter.currencyCode = @"KRW";
// get number value
NSDecimalNumber *number = field.numberValue;
只需将带有简称的卡标志图片(例如 “visa”,“amex”,“mastercard” 等)添加到您的图像资产中即可。