TextField数字键盘, 限制首位不能为0和小数点, 限制小数点输入位数

textField是我们熟悉的UI控件, 最近公司有需求, 要求输入的内容为数字, 并且保留八位有效数字
思考:

  1. 输入整数部分要避免00123类型的, 因此要去掉多余的0;
  2. 当前输入的字符判断, 要判断是否存在小数点, 并且只能有一个小数点;
  3. 存在小数点后小数位数的判断, 最大只能到达8位;
  4. 避免复制粘贴操作带来的显示异常, 禁止复制粘贴.

代码:
继承自textField我们创建LMSTurnCountTextField, 在.h中


TextField数字键盘, 限制首位不能为0和小数点, 限制小数点输入位数_第1张图片
屏幕快照 2018-04-12 上午10.10.36.png

在.m中


TextField数字键盘, 限制首位不能为0和小数点, 限制小数点输入位数_第2张图片
屏幕快照 2018-04-12 上午10.17.13.png
TextField数字键盘, 限制首位不能为0和小数点, 限制小数点输入位数_第3张图片
屏幕快照 2018-04-12 上午10.17.40.png

你可能感兴趣的:(TextField数字键盘, 限制首位不能为0和小数点, 限制小数点输入位数)