I need to ask a user to fill in the expiry date for a card. The default spinners on iOS for a date picker doesn't provide a simple month/year option and the pods I've found are terrible. I would create my own, or provide PRs to fix up the AP:I of the controls, but I'm constrained by time.

That said, I'd really like to know if the spinner is even the most correct/optimal control to use of this on iOS. I've considered validated text fields, but still think the spinner is probably the best.

1 Answer 1


Well, you could simply scan the card in iOS8+.

As for optimal, I think it will depend on testing. As someone that uses an iPad for almost anything, I'd say "use a spinner". However, a quick research shows that both spinner and text inputs are user almost equally, with a slight preference for text inputs. See samples below:

enter image description here enter image description here enter image description here enter image description here enter image description here

So, it seems that other than card scanning, you'll need to decide based on testing.

Additional Resources

Mastercard seems to favor text inputs on Simplify iOS docs and you can take a look to 4 Tips to Improve Your Credit Card Form UX for some ideas

  • Sounds like there's no clear winner. The scanner idea sounds interesting, but since my thing isn't actually a credit card, I'm not sure it would work. It is interesting that they seem to generally separate the selectors for month and year into district controls. That might be a better idea than the month/year combined spinner.
    – kvn
    Commented Jul 13, 2016 at 17:57
  • ah yes, if you go with a spinner it should be separated, that goes without saying
    – Devin
    Commented Jul 13, 2016 at 19:20
  • So something like this is a faux pas: github.com/nairteashop/NTMonthYearPicker ?
    – kvn
    Commented Jul 13, 2016 at 19:27
  • 1
    no, because it has 2 separate inputs despite its presentation. however, making a clear distinction between months and year is the tested and commonly accepted way to do it (as you'll see from the examples)
    – Devin
    Commented Jul 13, 2016 at 19:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.