原文:http://coolketang.com/staticCoding/5a9951030b61607bf6d0530a.html
1. 本节课将为您演示,如何快速实现表单的输入验证。首先确保在您的项目中,已经安装了所需的第三方库。双击此处查看安装配置文件。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/1302c9097fe7923ef131e9e9aaa9c2f6.webp?x-image-process=image/format,png)
2. 根据配置文件中的相关设置,安装第三方库。安装完成之后,双击打开此处的项目文件。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/288b4a3960ad0f79e540667458f52815.webp?x-image-process=image/format,png)
3. 然后在左侧的项目导航区,打开故事板文件。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/ee8a9e358f9046d2c99153516e964ab5.webp?x-image-process=image/format,png)
4. 我们将在故事板中,绘制项目中的用户界面。点击组件库面板右侧的垂直滚动条,跳转到标签控件所在的位置。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/7ec9dc67a1e2fdeaf1026c404d5882d5.webp?x-image-process=image/format,png)
5. 然后将标签控件拖拽到故事板中的适当位置。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/a4315ba027f31b59d6e7a4d0ee329376.webp?x-image-process=image/format,png)
6. 接着点击属性检查器图标,进入属性设置面板。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/4f7280390d30586825e6c3b57e383469.webp?x-image-process=image/format,png)
7. 首先设置标签控件默认的文字内容。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/a97e07f1911320789a5cc9d432a9cc44.webp?x-image-process=image/format,png)
8. 然后在标签控件周围的定界框上按下鼠标,并向右侧拖动,以增加标签控件的宽度。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/a24942b554d86d0c7a6e446e77818eb6.webp?x-image-process=image/format,png)
9. 使用相同的方式,再从控件库拖动一个标签控件至故事板中。该标签控件将用来显示表单验证时的错误信息。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/f3dfaa0d253c150a148aed1b524e39dd.webp?x-image-process=image/format,png)
10. 同样调整该标签控件的宽度。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/163a290e2c8dca9cbceb3845f32c6d09.webp?x-image-process=image/format,png)
11. 继续调整标签控件的宽度。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/3ef3915eb0c2b23bcd4399832e05b57b.webp?x-image-process=image/format,png)
12. 接着点击居右对齐图标,使标签的文字内容右对齐。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/fcde083789ed738be07f20755408d4f8.webp?x-image-process=image/format,png)
13. 点击字体右侧的向下箭头,缩小字体的尺寸。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/1edabdc785555e7335b27dc19b8eccef.webp?x-image-process=image/format,png)
14. 继续点击字体右侧的向下箭头,缩小字体的尺寸。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/1682edbca4335e45bab793e90bd3f4e3.webp?x-image-process=image/format,png)
15. 再次缩小字体的尺寸。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/4d5b76965da95034a67bfa8943eb58ba.webp?x-image-process=image/format,png)
16. 然后点击颜色下拉箭头,弹出颜色预设面板。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/a076319994886be9c95fbac1b352da47.webp?x-image-process=image/format,png)
17. 在弹出的系统颜色预设面板中,选择一种颜色作为标签的字体颜色。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/2ca52fa9d3f120232ae659afac64220f.webp?x-image-process=image/format,png)
18. 点击组件库面板右侧的垂直滚动条,跳转到文本框控件所在的位置。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/55b5c380795b85ea6bd28faccff3b3f6.webp?x-image-process=image/format,png)
19. 接着将文本框拖动到故事板中。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/98b9247156597dbc0acd6c1e4581fb64.webp?x-image-process=image/format,png)
20. 在左侧的圆角处按下鼠标,并向右侧拖动,使文本框的右边缘和标签的右边缘对齐。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/2da5d853a4b5d571f0eab43e7de002f0.webp?x-image-process=image/format,png)
21. 然后设置文本框的占位文字。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/f1e144f309ab43bdc145baa137ea2335.webp?x-image-process=image/format,png)
22. 使用相同的方式,继续添加其它的控件,直到完成整个表单的制作。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/bbd22a9c346e80df22bf5f9f2b78e2ce.webp?x-image-process=image/format,png)
23. 添加完其它的表单控件之后,再给表单添加一个提交按钮。点击垂直滚动条,跳转到按钮控件所在的位置。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/60227a03910c3271cd5547b408d0d164.webp?x-image-process=image/format,png)
24. 然后将按钮控件,从控件库中拖动到故事板中的适当位置。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/187303a60fe8b45084ee51aa0f49c186.webp?x-image-process=image/format,png)
25. 接着设置按钮控件的标题文字。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/50a89ce702bc304a6f650d57871c7bb4.webp?x-image-process=image/format,png)
26. 点击右侧的滚动条,切换至背景颜色设置区域。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/8dce3e05d4a920305af3651cc77d4eed.webp?x-image-process=image/format,png)
27. 点击背景颜色右侧的下拉箭头,弹出颜色预设面板。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/6ef79a366a13f48573ad801b1c5594a0.webp?x-image-process=image/format,png)
28. 在弹出的系统颜色预设面板中,选择一种颜色作为按钮的背景颜色。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/b76cdb902f82ff24daada1c96e757b9a.webp?x-image-process=image/format,png)
29. 点击前景颜色右侧的下拉箭头,弹出颜色预设面板。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/d5da5ba84d59fb5ff8b26c6625e828a3.webp?x-image-process=image/format,png)
30. 在弹出的系统颜色预设面板中,选择一种颜色作为按钮的前景颜色。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/adee66a55cf4795d569f239afd5cd17e.webp?x-image-process=image/format,png)
31. 接着点击尺寸检查器图标,进入尺寸设置面板。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/71289bf2a98473e1b40ef32ea0281767.webp?x-image-process=image/format,png)
32. 然后依次设置按钮的位置和尺寸属性。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/69d14b0c46154786e3d81e1e4454a801.webp?x-image-process=image/format,png)
33.
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/4701062b7207859d2b2325c6f998f922.webp?x-image-process=image/format,png)
34.
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/98e5836b243d67b835b0243ca9e69205.webp?x-image-process=image/format,png)
35.
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/ceeaa22cdfd1edfae4a2344dcef0a117.webp?x-image-process=image/format,png)
36. 接着在左侧的项目导航区,打开视图控制器的代码文件。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/a75f8c57e90d612646cbc816e9def428.webp?x-image-process=image/format,png)
37. 点击右上角的显示或隐藏工具面板图标,隐藏右侧的工具面板。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/f4cb5c3233ef4a5766b959db64551e87.webp?x-image-process=image/format,png)
38. 现在开始编写代码,实现表单的输入验证功能。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/7f4e8edf4f568fd9d8ad0f6a5edbb0f6.webp?x-image-process=image/format,png)
39. 首先在当前的类文件中,引入已经安装的第三方类库。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/bf541b8724dbbd7f0d72dbc580d919ae.webp?x-image-process=image/format,png)
40. 然后使视图控制器的类,遵循表单验证协议。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/6e05064cadc433066050df0dda5eaa60.webp?x-image-process=image/format,png)
41. 接着创建五个文本框属性,这五个文本框属性,将和故事板的五个文本框控件进行连接。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/15fec367204c316f9fdc23c86dfb6889.webp?x-image-process=image/format,png)
42. 创建五个标签属性,这五个标签属性,将和故事板的五个标签控件进行连接,用来显示表单验证的错误信息。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/9139e00e2863ed344def1cbdbd9a7e57.webp?x-image-process=image/format,png)
43. 初始化一个表单验证器对象。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/7bbede6c40b67c91c708bfa8ec183160.webp?x-image-process=image/format,png)
44. 给根视图添加一个触摸手势,用来关闭由于文本框控件处于焦点时,所弹出的键盘。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/3475422b1b1fde81619c274c03d159ba.webp?x-image-process=image/format,png)
45. 接着设置验证器的外观样式,首先设置当验证成功时的样式。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/de1984160702d50659f92d0697d87255.webp?x-image-process=image/format,png)
46. 设置错误提示标签处于隐藏状态,并且设置错误提示标签的内容为空的字符串。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/9c70832cd00132e69ead48991cbfa3f5.webp?x-image-process=image/format,png)
47. 然后设置文本框的层的边框颜色为绿色,边框宽度为1。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/2eacb315c3970a05e670ebf041c0923e.webp?x-image-process=image/format,png)
48. 接着设置当验证失败时的外观样式。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/436b2de57415cf2f08d639d1c865f0c1.webp?x-image-process=image/format,png)
49. 设置错误提示标签处于显示状态,并且设置错误提示标签的内容,为错误的提示消息。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/64e5663f9d46a8d471f0ad3f3bf783ff.webp?x-image-process=image/format,png)
50. 然后对文本框进行一些外观的设置。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/303b8b08f59051372e38a73f5eb83e78.webp?x-image-process=image/format,png)
51. 设置文本框的层的边框颜色为红色,边框的宽度为1。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/ef57a0a265a2782889b309d2225a6498.webp?x-image-process=image/format,png)
52. 接着给验证器对象,注册需要进行验证的文本框,以及验证失败时的错误标签。同时还设置了验证所遵循的两个规则,即进行非空验证和全名验证。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/065558b490ed3c472552729c7a256a36.webp?x-image-process=image/format,png)
53. 使用相同的方式,给验证器注册其它的验证控件。验证规则为非空验证和邮箱格式验证。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/ab7295f5a6a6f2efc847c6f08f6ba37e.webp?x-image-process=image/format,png)
54. 继续注册其它验证控件,同时增加了一个匹配验证的规则,以保证两个邮箱文本框,具有相同的内容。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/c22b7c949b3bf32f5e9e9f110913e932.webp?x-image-process=image/format,png)
55. 继续注册验证控件,同时增加了一个最小长度的验证,以验证是否输入了9个以上的字符。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/b9a375ada1d4bec855d460832834a044.webp?x-image-process=image/format,png)
56. 最后一次注册验证控件,这次添加了一个邮政编码格式的验证条件。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/4db288ce290f76d48e6e186168d46db2.webp?x-image-process=image/format,png)
57. 添加一个方法,用来响应提交按钮的点击事件。该方法将为故事板中的提交按钮控件进行连接。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/00f6b0b503ccbe5d340f0b9433ab48a6.webp?x-image-process=image/format,png)
58. 在控制台输出日志,并调用验证器进行表单的验证操作。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/bd4d4e3fbb65d016ad8cbeaf89145d5e.webp?x-image-process=image/format,png)
59. 添加一个方法,当验证成功时调用该方法。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/920730c7f6c90d1cbb25f7887afc2a9d.webp?x-image-process=image/format,png)
60. 在控制台输出验证成功的语句。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/bc440dc81b003198f8a2229f6066b6a1.webp?x-image-process=image/format,png)
61. 然后创建一个警告窗口,显示验证成功的信息。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/835306b480c6943dfb8de605cce19c41.webp?x-image-process=image/format,png)
62. 给警告窗口添加一个按钮,当点击该按钮时,关闭警告窗口。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/58fecf391d8b9fd46d79b55ea79809bf.webp?x-image-process=image/format,png)
63. 在当前的视图控制器中,以模态的方式打开警告窗口。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/140d64c37a41bb31ff0d00212d7a4972.webp?x-image-process=image/format,png)
64. 接着添加一个方法,用来响应表单验证失败时的情况。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/18a6450d69c1abb72c34fba098935c05.webp?x-image-process=image/format,png)
65. 添加一个方法,当用户点击根视图时,隐藏弹出的键盘。然后在左侧的项目导航区,打开故事板文件。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/e0c986b646c8a81612fe2ad2c2b37482.webp?x-image-process=image/format,png)
66. 现在开始将故事板中的控件,和类文件中的属性进行连接的工作。首先点击显示辅助编辑器图标,打开辅助编辑器。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/464dbe3ef47f441e7b0f0a7970bf5f34.webp?x-image-process=image/format,png)
67. 然后在名称属性左侧的连接指示图标上,按下鼠标,并拖动到所要连接到的控件。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/3e3148facbede7ba469e7f369d865c41.webp?x-image-process=image/format,png)
68. 这样就连接好了一对控件和属性。使用相同的方式,连接其它的控件和属性。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/f7f223acea69d4732aea6a70db1947c1.webp?x-image-process=image/format,png)
69.
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/592656334183d9f5ebc73dde163e532b.webp?x-image-process=image/format,png)
70.
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/04955d0bd51ee3371300ddb9b0538f12.webp?x-image-process=image/format,png)
71.
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/716d9278b3eeae8a1e78754926d0e9d4.webp?x-image-process=image/format,png)
72.
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/d90aa3a9413c884991adae18072ef993.webp?x-image-process=image/format,png)
73.
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/4ac262baf6452437d83b9638e888b2a1.webp?x-image-process=image/format,png)
74.
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/eb45b71757ad898af430b5c2ca6f5a37.webp?x-image-process=image/format,png)
75.
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/38c7418d2827d71cf28492ffe915f958.webp?x-image-process=image/format,png)
76.
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/c2c8e82dfa67bb6a424722bc5c0583a0.webp?x-image-process=image/format,png)
77. 点击编辑器右侧的垂直滚动条,跳转到提交按钮的响应方法所在的位置。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/3889837dc7b8577fad319be0f55eae70.webp?x-image-process=image/format,png)
78. 然后将该方法和故事板中的提交按钮进行连接。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/0fc041ee1e95563356a0f046af52a403.webp?x-image-process=image/format,png)
79. 接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/306ef60989a8e0bb1b266d105ca9e325.webp?x-image-process=image/format,png)
80. 在弹出的模拟器中,点击底部的提交按钮,执行对表单的验证。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/c82f5c7b9c25a83c55f6b55a3713d46c.webp?x-image-process=image/format,png)
81. 表单验证失败,并显示了在验证失败时的错误信息。在名称输入框内点击,开始名称的输入。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/064073b941b00907c86ab09323e67a7c.webp?x-image-process=image/format,png)
82. 在弹出的键盘上的提示区点击,输入一个单词。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/a436fc0a7eee7584a107b306f469fd0b.webp?x-image-process=image/format,png)
83. 点击输入另一个单词。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/2e69b1ddb10b5723d78f2921e43307fc.webp?x-image-process=image/format,png)
84. 然后点击返回按钮,隐藏键盘。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/f139cf27bee7cd06cfc87cbe603b5bda.webp?x-image-process=image/format,png)
85. 再次点击提交按钮,继续表单的验证。
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/25aec58acc78d4c8be071d77ebd1e7ac.webp?x-image-process=image/format,png)
![iOS开发中的神兵利器](https://i-blog.csdnimg.cn/blog_migrate/ea7ac0bec9b29a7b5ea3c173f40fb535.webp?x-image-process=image/format,png)
本文整理自:《app开发中的神兵利器》,真正的[手把手]教学模式,用最快的速度上手iOS开发,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1209739676,或扫描本页底部的二维码。课程配套素材下载地址:资料下载