From f191aee3ff9a1b4d6d20bf091d2c7db6bb0c77a6 Mon Sep 17 00:00:00 2001 From: Jeremy Lawrence Date: Mon, 9 Feb 2015 12:18:35 -0800 Subject: [PATCH 1/2] Implementing intrinsicContentSize intrinsicContentSize allows for the PTKView to be used properly in auto layout without having to resort to explicit dimension constraints. --- PaymentKit/PTKView.m | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/PaymentKit/PTKView.m b/PaymentKit/PTKView.m index d3c06ae..bbc6100 100644 --- a/PaymentKit/PTKView.m +++ b/PaymentKit/PTKView.m @@ -19,6 +19,8 @@ #define kPTKViewCardExpiryFieldEndX 84 #define kPTKViewCardCVCFieldEndX 177 +#define kPTKViewDefaultSize CGSizeMake(290, 46) + static NSString *const kPTKLocalizedStringsTableName = @"PaymentKit"; static NSString *const kPTKOldLocalizedStringsTableName = @"STPaymentLocalizable"; @@ -79,7 +81,7 @@ - (void)setup _isInitialState = YES; _isValidState = NO; - self.frame = CGRectMake(self.frame.origin.x, self.frame.origin.y, 290, 46); + self.frame = CGRectMake(self.frame.origin.x, self.frame.origin.y, kPTKViewDefaultSize.width, kPTKViewDefaultSize.height); self.backgroundColor = [UIColor clearColor]; UIImageView *backgroundImageView = [[UIImageView alloc] initWithFrame:self.bounds]; @@ -604,4 +606,12 @@ - (BOOL)resignFirstResponder; return [self.firstResponderField resignFirstResponder]; } +#pragma mark - +#pragma mark UIView + +- (CGSize)intrinsicContentSize +{ + return kPTKViewDefaultSize; +} + @end From 3428d35d5de8cefa53691d0b6d36d40fb772223a Mon Sep 17 00:00:00 2001 From: Jeremy Lawrence Date: Mon, 9 Feb 2015 13:06:50 -0800 Subject: [PATCH 2/2] Preventing PTKView from becoming first responder by default --- PaymentKit/PTKView.m | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/PaymentKit/PTKView.m b/PaymentKit/PTKView.m index bbc6100..c6aef11 100644 --- a/PaymentKit/PTKView.m +++ b/PaymentKit/PTKView.m @@ -232,9 +232,8 @@ - (void)stateCardNumber [self.cardExpiryField removeFromSuperview]; [self.cardCVCField removeFromSuperview]; }]; + [self.cardNumberField becomeFirstResponder]; } - - [self.cardNumberField becomeFirstResponder]; } - (void)stateMeta