开始搭建登录界面

登录界面效果图:

相关的图片资源下载百度云备份链接: http://pan.baidu.com/s/1o71cvMU 密码: 2h7e

步骤开始:

设置辅助窗口的位置在下方

快捷键option,然后拖拽复制之后:

这里就直接省去了将背景颜色改为经典黑了。

到这里QQ空间的登录界面搭建完毕。

下面进行登录逻辑的实现:

将工程文件进行MVC文件管理化:

这里别忘了,登录界面的StoryBoard的Class设置为这个LoginViewController。原来的ViewController.h或.m可以删除了。

登录逻辑,首先要思考一下,哪些控件对象需要事件监听:

哪些控件对象需要拿到其对应的属性:

添加activity:

然后添加错误提示的方法:

接着实现比较详细的登录验证用户信息的较为详细的业务逻辑过程:

两个勾选框按钮之间的逻辑事件:

另外还需要添加登录错误使得登录界面产生抖动动画:

所以还需要通过拖线拿到背后的view,然后为view.layer添加抖动动画,这里因为抖动动画是在四个关键帧的位置来回抖动,所以最好用的的是关键帧动画

最后需要实现的逻辑是textField的代理方法:按输入键盘的return方法响应事件:

最后别忘了设置代理:

到这里源代码百度云备份下载链接: http://pan.baidu.com/s/1o7ifz7c 密码: ja3q

效果图:

最新文章

  1. 5、软件架构师要阅读的书籍 - IT软件人员书籍系列文章
  2. Servlet和JSP学习指导与实践(一):Servlet API初探
  3. SQLite手工注入方法小结
  4. Google OKR 目标管理体系学习
  5. c# list排序
  6. cocos2d-x3.9 默认是 gnustl_static 配置,但是 这个库缺少c++的基础功能... c++_static 功能全面些
  7. java 网络编程学习笔记
  8. bzoj1193: [HNOI2006]马步距离
  9. 自兴人工智能-------------Python入门基础(1)
  10. redis--主从同步,故障切换,集群搭建
  11. Composer对于第三方包的自动加载
  12. todolist待办事项
  13. Java MyBatis insert数据库数据后返回主键
  14. django之创建项目,添加app
  15. Java虚拟机--内存模型与线程
  16. jqery-easyui的Datagrid的介绍-Pagination事件
  17. Swift中Notification.Name这么难用怎么办
  18. java 又一次抛出异常 相关处理结果演示样例代码
  19. 我们为什么要使用Spring Cloud?
  20. C++练习 | 创建并正序输出不带头结点的链表

热门文章

  1. typeof与GetType
  2. 托管调试助手“NonComVisibleBaseClass”检测到问题
  3. RTX发送消息提醒实现以及注意事项
  4. 十分钟搞懂什么是CGI
  5. 一种感觉不太好的设置radioButton的方法
  6. 转载:第六弹!全球首个微信小程序(应用号)开发教程!通宵吐血赶稿!
  7. thread_AtomicBoolean
  8. 极简Unity调用Android方法
  9. JavaScript跨域总结与解决办法
  10. jQuery中的事件冒泡