コード例 #1
0
        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();
        }
コード例 #2
0
        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();
            };
        }