xaoxuu

这是我的毕业设计项目。

界面使用最广泛的四页面设计,分别为:主页、情景、设备、发现。
主页是核心功能,实现一键连接蓝牙灯、自由调节颜色、亮度、设置定时关灯等功能。
情景页是保存用户设置的情景模式,可以根据使用场景不同快速切换至对应的工作模式。
设备页可以管理多台蓝牙灯。
发现页提供一些智能家居相关资讯。

启动页调色定时资讯
imgimgimgimg

技术点

ATTitleBar

  • 支持横向滑动切换tab,并具有点击涟漪效果。
  • titlebar是在app中广泛应用的一种tab设计。我写的这个小框架模仿Google的Material Design设计,涟漪效果代码由MaterialControls框架改写。
  • 页面较多时采用类似tableview的懒加载模式,只加载需要显示的几页,减少内存占用,提高流畅度。

ReactiveCocoa

  • 本项目大量使用了ReactiveCocoa框架进行响应式编程,大幅简化代码、提高可读性。
  • RAC的订阅机制使得一对多传值有了新的选择,如蓝牙中心设备。
  • RAC的信号监听机制使得我更容易根据需要定制个性化控件。如带翻转、旋转效果的tabbar、带缩放和回弹效果的slider等,使app的界面栩栩如生。

CBCentralManager

  • CBCentralManager是蓝牙类app的核心,本项目在编写这部分代码时使用了链式语法进行封装,外界调用起来十分方便。

ATCarouselView

  • 轮播图也是在app中广泛存在的一种自定义控件,我将这部分代码封装至ATKit中,以Pods导入方式使用,便于维护和扩展,同时也使得本项目代码更加简洁。
  • 部分app的轮播图可以根据下方列表的滑动而改变高度或者添加蒙版效果,我目前实现了改变高度的功能。

已归档!

这是一个已经归档的项目,最后一次更新时间是在2016年。

 评论

本站已不再使用Valine评论系统,请使用Gitalk进行评论