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();
        }