public override void SetUpCell() { UIImage frontImage = CardType.CreditCardImage(); CALayer layer = EntryEnclosingView.Layer; layer.CornerRadius = 4.0f; layer.MasksToBounds = true; layer.BorderColor = ColourHelper.GetColour("0xC3C3C3FF").CGColor; layer.BorderWidth = 1; cardImage.Image = frontImage; PreviousCardNumber.Text = "xxxx " + LastFour; LengthForType = CardType == CardType.AMEX ? 4 : 3; entryField.ShouldChangeCharacters = (UITextField textView, NSRange NSRange, string replace) => { CSRange range = new CSRange((int)NSRange.Location, (int)NSRange.Length); Complete = false; if (range.Length > 1) { return(false); } if (replace.Length > 1) { return(false); } if (replace.Length == 1 && !char.IsDigit(replace.ToCharArray() [0])) { return(false); } if (textView.Text.Length + replace.Length - range.Length > LengthForType) { return(false); } if (replace != "" && textView.Text.Length + replace.Length == LengthForType) { var aStringBuilder = new StringBuilder(textView.Text); aStringBuilder.Remove(range.Location, range.Length); aStringBuilder.Insert(range.Location, replace); string newTextOrig = aStringBuilder.ToString(); CCV = newTextOrig; Complete = true; } DispatchQueue.MainQueue.DispatchAsync(() => { UpdateUI(); }); return(true); }; entryField.BecomeFirstResponder(); }
public override void SetUpCell() { creditCardImage.Tag = (int)CardType.UNKNOWN; creditCardImage.Layer.CornerRadius = 4.0f; creditCardImage.Layer.MasksToBounds = true; UIImage image = ThemeBundleReplacement.BundledOrReplacementImage("ic_card_large_unknown", BundledOrReplacementOptions.BundledOrReplacement); creditCardImage.Image = image; currentYear = DateTime.Now.Year - 2000; CALayer layer = containerView.Layer; layer.CornerRadius = 4.0f; layer.MasksToBounds = true; layer.BorderColor = ColourHelper.GetColour("0xC3C3C3FF").CGColor; layer.BorderWidth = 1; layer = textScroller.Layer; layer.CornerRadius = 4.0f; layer.MasksToBounds = true; layer.BorderWidth = 0; textScroller.SetContentOffset(new PointF(0, 0), true); textScroller.ScrollEnabled = false; SetupPlaceViews(); Type = CardType.UNKNOWN; SetUpMaskedInput(); ExpiryInfoButton.TouchUpInside += (sender, ev) => { PushExpiryInfoView(); }; }