使用UITableView 简化登录注册界面

感觉有些时间没写iOS的东西了,主要是大神们都已经把该讲的都讲清楚了,<code>实在不敢弄斧班门</code>前段时间看到一篇巧用状态值处理复杂的 TableView文章,思路另辟蹊径,值得学习,但通篇看下来后<code>发现没有code demo,有些撩人啊</code>,本着学习的态度,根据该文章的方法,写了个示例工程loginTableDemo,希望能对看了该文章的人在实践上有所帮助,同时欢迎大家指出代码中的不足,<code>没有优化处理,有不少冗余的code</code>.
不废话,先上效果:

demo

坑与细节

  • 原文中的<code>func transitionToViewState(newState: AuthViewState)</code>仅是方案,不能直接用的.具体的切换要自己实现.
  • 不同的内容,要分成不同的cell,然后用tableView根据状态来加载<code>这里也可以使用一个cell ,然后根据不同的枚举值,生成cell里的显示内容</code>,这两种方式各有利弊,我个人倾向使用不同的cell,简化枚举逻辑,但增加了cell种类,<code>大家按喜欢的来就好了</code>
  • 与直接使用<code>UIView + UITextField + UIButton</code>的界面对比,使用<code>tableView</code>的方案增加了数据传递的成本,cell中的<code>按钮点击事件</code>和<code>文字输入事件</code>与<code>controller</code>之间比较松散,我的示例中,使用了protocol的方式,有兴趣的可以换成闭包方式看看,<code>也许可以更精简一些.</code>
  • 整个界面UI非常朴素,就一个tableview,感觉逻辑也清晰,<code>并且天然的具有动画效果</code>,看起来还不错.
  • 项目中使用的SwiftLCS这个库处理集合很方便,也是项目的主要功臣,值得推荐.
  • <code>tableView</code>切换状态时,要先删除后添加,<code>同时要记得修改数据源的对应数据</code>
  • 项目使用<code>swift</code>实现,代码也简单,<code>相信使用Objective-C的同学</code>也可以看懂
  • 最后,项目中<code>Login文件夹(模块)</code>可以直接拖到其他项目中使用,只需修改一下UI就是你自己的了.<code>喜欢的就赞一个吧</code>

结束语

就像巧用状态值处理复杂的 TableView文章中最后提到一样,把UIKit想的深一点,会有更多的可能~<code>共勉,共勉</code>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
    liudhkk阅读 12,993评论 3 38
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,552评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,741评论 4 61
  • 2012年初春,我还在一家公司干行政工作——其实类似于杂役。多年积习,常在网上注意搜集和保存关于安阳的资料、图片。...
    摩登伽女刘娜娜阅读 2,844评论 0 0
  • 我就在这里,静坐不语 你来或者去,我未有问语 但并不,代表,我不在意 佛说 前世的五百次擦肩而过 才换回今生的一次...
    花开只一季阅读 1,418评论 0 0

友情链接更多精彩内容