【时间有限 未完待续...】
APP官方简介

小恩爱是一款情侣移动应用,只加心爱的人!情侣定制专属功能,享受私密二人世界。免费通话,Wifi/3G下全球免费通话,无需任何费用。情侣闹钟,二人专属远程闹钟,让TA一键叫你起床。情侣交流社区,与志趣相投的情侣们交流分享,还可以邀请朋友光临你们的情侣空间

◆免费通话:Wifi/3G下可以全球免费通话,拉近距离只在毫秒之间;
◆情侣游戏:情侣专属游戏,茫茫人海中能否一眼看出你心爱的人;
◆私密聊天:记录爱的点滴,只有情侣彼此能看到;
◆私密相册:独有相片加密技术,共同管理共同维护;
◆表情商城:丰富有趣的表情,情侣间的沟通更有乐趣;
◆纪念日: 记录二人生活趣事或即将一起做的事情;
◆日记本: 日 记 本,记录二人生活趣事或即将一起做的事情;
◆情侣社区:与其他情侣交流分享;
◆情侣空间:邀请好友参观只属于你们的小窝,可随时关闭;
◆任务奖励:每天登录领取奖励;
◆小应用: 不定期更新,每期推荐适合情侣的精品应用;

项目简介
该项目总共分为5大模块,而每个模块均采用了MVC的架构模式来分离视图与数据的解耦合。整个界面主要使用的是故事版。并且抽象出了LSBaseModel、LSBaseViewController两个基类用于存放相同代码,同时在UIUtils类中封装了时间与时间戳之间的相互转换、时间与时间相距的时间等计算时间的方法。
项目中使用到得开源框架:
  • 用于网络请求:AFNetWorking
  • 用于刷新:MJRefresh
  • 用于加载网络图片:SDWebImage
  • 用于绘制图案解锁密码:JMPasswordView
  • 用于上传提示:MBProgressHUD
  • 用于获取视图的frame、位置等:UIView+Ext
技术浅谈
  • 整个框架在storyboard中完成,节省了大量敲代码的时间
  • 整个APP的状态栏采用黑底白字,导航栏字体为白色。
//设置状态栏的颜色,返回一个样式
- (UIStatusBarStyle)preferredStatusBarStyle {return UIStatusBarStyleLightContent; //所有状态栏都为白色
}

  • 首次进入应用时设计了一个ScorllView滑动视图效果的欢迎界面,在最后一页点击“进入应用”进入到APP首页
  • 点击“我睡了”,通过时间戳计算睡了多久,此时会发通知给另一半,Ta即可看见你正处于睡觉状态,便可通过远程闹钟叫你起床。
  • “小姨妈”,女生可UIDatePicker控件来选择经期时间
  • “私密相册” 采用UICollectionView展现两人私密照片列表
  • “纪念日” 通过UIDatePicker设置纪念日期,并保存本地,使用UIUtils中封装的daysFormTimeToTime来计算天数,并通过block将值传回纪念日列表显示。
  • “情侣空间”使用TableView,并对每张图片继承于封装好的ZoomImageView上,便可实现图片的放大缩小。
  • “排行榜”使用ColletionView展示当前位居排行榜上得情侣空间,并可通过单元格进入到其空间浏览。
  • “情侣说”界面是一个多组单行小时效果的表,单元格的高度是固定的,单元格内容的布局采用了xib,子类化一个TopicsCell,用于显示用户和话题。对用户昵称label进行了宽度的计算。话题被更新时间通过UIUtils的dateToDate:方法计算出距离当前多久时间。导航栏上添加了Segmented控件,并在此控件上添加了改变值就可触发的事件,当“热门”、“精华”、“新鲜”间相互切换的时候,会改变URL再次请求。
  • “情侣说详情”,该界面的使用tableView,表的头视图包含了话题视图与功能视图,使用了一个父视图显示他们,通过话题内容计算了最佳显示高度,并以此为依据改变头视图的高度。评论列表单元格通过加载xib来显示。
    //设置label的宽度CGSize size = [_nickname.text sizeWithFont:[UIFont systemFontOfSize:15] constrainedToSize:CGSizeMake(MAXFLOAT, 20)];
    //通过内容计算单元格高度NSString *content = repliesModel.content;UIFont *font = [UIFont systemFontOfSize:13];CGSize size = [content sizeWithFont:font constrainedToSize:CGSizeMake(kScreenWidth, 1000)];

  • “通知”界面,有通知可通过单元格通过PUSH跳转到对应页面。
  • "屏幕解锁" 通过第三方框架JMPasswordView绘制密码点,手势移动时便绘制连线。小于4位位无效密码,并将有效密码保存到本地,若开关状态为开,程序启动时则需要先通过密码验证才能进入程序。
  • 数据加载的几个tableVIew界面,都使用了下拉刷新,上拉加载数据的功能。

总结:
这是独自完成的第一个项目,花了12天,还有一些功能没有来得及实现。通过这次的项目,感觉自己还是学到了很多东西,一点一滴都是自己做出来的,虽然效率不高,但收获不少。也了解到一个项目着手前的准备工作、整个策划还是很重要的,避免开发过程中因前期考虑不周带来的麻烦。
效果截图:
  • 首次进入应用:
  • 图案解锁
程序启动的密码验证                                            设置图案解锁
                   
  • 五大板块界面
        
其他功能界面
        
       

【iOS开发】小恩爱(情侣必备) IOS客户端相关推荐

  1. iOS开发小技巧 -- tableView-section圆角边框解决方案

    iOS开发小技巧 -- tableView-section圆角边框解决方案 参考文章: (1)iOS开发小技巧 -- tableView-section圆角边框解决方案 (2)https://www. ...

  2. 27个iOS开发小技巧

    <span style="word-wrap: normal; word-break: normal; line-height: 1.5em; font-size: 14px; out ...

  3. Android应用开发-小巫CSDN博客客户端之嵌入有米广告

    Android应用开发-小巫CSDN博客客户端之嵌入有米广告 上一篇博客给大家介绍如何集成友盟社会化组件,本篇继续带来干货,教大家如何嵌入广告到应用中去.小巫自称专业对接30年,熟悉各大渠道SDK的接 ...

  4. Android应用开发-小巫CSDN博客客户端之集成友盟社会化分享组件

    Android应用开发-小巫CSDN博客客户端之集成友盟社会化分享组件 上一篇博客给大家介绍了如何分析网页并且使用jsoup这个库对html代码进行解析,本篇博客继续给大家介绍如何集成友盟社会化组件, ...

  5. Android应用开发-小巫CSDN博客客户端UI篇

    Android应用开发-小巫CSDN博客客户端UI篇 上一篇是给童鞋们介绍整个项目的概况,从这篇博文开始,后续也会详细介绍整个客户端的开发,但不会贴很多代码,我会贴核心代码然后提供实现思路,想看里面更 ...

  6. Android应用开发-小巫CSDN博客客户端之获取评论列表

    Android应用开发-小巫CSDN博客客户端之获取评论列表 上一篇博客介绍了博文详细内容的业务逻辑实现,本篇博客介绍小巫CSDN博客客户端的最后一项功能,获取评论列表,这个功能的实现跟前面获取文章列 ...

  7. Android应用开发-小巫CSDN博客客户端之显示博文详细内容

    Android应用开发-小巫CSDN博客客户端之显示博文详细内容 上篇博文给大家介绍的是如何嵌入有米广告并且获取收益,本篇博客打算讲讲关于如何在一个ListView里显示博文的详细信息,这个可能是童鞋 ...

  8. Android应用开发-小巫CSDN博客客户端Jsoup篇

    Android应用开发-小巫CSDN博客客户端Jsoup篇 距上一篇博客已经过去了两个星期,小巫也觉得非常抱歉,因为在忙着做另外一个项目,几乎抽不出空来,这不小巫会把剩下的博文全部在国庆补上.本篇博客 ...

  9. iOS开发小技巧总结

    tip 1 :  给UIImage添加毛玻璃效果 func blurImage(value:NSNumber) -> UIImage { let context = CIContext(opti ...

  10. iOS开发小知识之正则表达式的简单用法

    关于正则表达式,百度百科中是这样说的 正则表达式,又称正规表示法.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表 ...

最新文章

  1. 저장소system.runtime.remoting.messaging.callcontext
  2. 数字图像处理的就业前景
  3. 【大学课程】操作系统知识点
  4. MySQL 字段默认值该如何设置
  5. SQL Server 2017的逐步安装
  6. 思科警告:“关键更新”钓鱼攻击窃取用户 Webex 凭证
  7. Android 系统服务列表
  8. win7(32位)U盘安装、卸载ubuntu(64位)双系统
  9. java随机数Reandom(简单介绍)
  10. 修改echarts饼状图位置
  11. gitee上贡献度不显示问题的设置
  12. 今天正式入职了字节跳动,分享点经验
  13. u盘中毒文件为html文档,u盘中毒文件被隐藏怎么办【解决方法】
  14. 大数据阿里云工具之DataWorks(一)
  15. Portainer的下载与安装
  16. setenv,getenv,fork
  17. PVM58N-YY1AGR0BN-1213光电采样编码器
  18. Codeforces Gym100543L Outer space invaders 区间dp 动态规划
  19. JSch SSH2 for Java
  20. [Openwrt 项目开发笔记]:Openwrt平台搭建(一)

热门文章

  1. echarts中国地图使省份选择性滑动或点击高亮
  2. 立创开源 | 基于ESP-01的物联网继电器
  3. python实现GIF生成工具
  4. Web渗透测试完整实例(windows)
  5. 汽车IVI中控开发入门及进阶(四):中控IVI及解决方案
  6. 基于CXF框架的webservice接口发布与调用
  7. 通过Telnet功能远程登陆管理华为设备
  8. SVN下载,安装,配置和使用方法
  9. 集成开发工具IDEA的安装教程----包括了解idea的Java工程目录
  10. 信息与大数据伦理问题