【无限互联】学员作品:减肥应用之薄荷科学减肥ios客户端

来源:互联网 发布:unity3d棋牌游戏源码 编辑:程序博客网 时间:2024/04/27 22:01

主要内容:

1、项目的主要业务功能

2、项目的效果图展示

3、项目的实现技术以及采用的架构模式

4、项目技术点的详细介绍

5、总结


一、项目的主要业务功能

此次所做的是一个减肥健身的应用。这个应用适合大部分的成年人使用。主要是帮助用户用科学的方式减肥和塑身、保持身材。这个项目主要包括四个大的模块,分别为首页、伙伴、食物、工具四个模块。首页的主要功能:包括很多个关于科学减肥塑身的话题,每个话题的主界面展示了用户每天发表的动态,减肥成功的经验展示,减肥的方法。还展示减肥前与减肥后的照片的对比。当然可以查看一些话题的详情页面。用户可以每天签到,获取钻石,连续签到七天可以解锁新30天减重计划完整版。可以显示你附近的伙伴们,关注他们。伙伴模块的主要功能:是展示伙们伴的动态,实现了分享,你可以将一些内容分享出去。食物页面的主要功能:显示了一些食物、菜肴分类,每个分类中包含了许多食物。并且可以按常见、热量、饱腹感的升序展示出来。还推荐了一些早餐、午餐、晚餐,以图片的方式展示。工具页面的主要功能:记录你一日三餐摄入的热量,并结合你的减肥计划,预算出在现阶段你还可以摄于多少热量。此外,还实现了用第三方账号(微博账号)登陆此应用。


二、项目的效果图:

首页的一些效果图:

         



              


         


       


           


                


           




伙伴模块的一些效果图:

            



           


食物模块的一些效果图:

           



             






工具模块的一些效果图:


            



           



注册、登陆界面:


           


          



评论的页面:



导航栏上按钮点击事件的页面:


               





三、项目的整体架构介绍

架构模式:

本项目采用MVC架构模式,分为四个大的模块。每个模块有一个storyboard,,通过storyboard加载每个模块的控制器。为UINavigationController 、UITableView 和 UITableViewController 、Model
分别创建了一个基类。在基类中定义了一些通用的属性和方法,实现代码的复用。为用户的动态列表定义了一个布局类PostViewLayoutFrame,专门用于好友的动态列表的展示。

1、在UITableView 的父类中创建下拉刷新控件、上拉加载控件、实现下拉刷新和上拉加载更多,还实现了UITableView的协议方法

创建下拉刷新的控件

<span style="font-size:14px;"> _refreshHeaderView = [[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0.0f, 0.0f - self.bounds.size.height, self.frame.size.width, self.bounds.size.height)];</span>

创建上拉加载的控件

<span style="font-size:14px;"> _refreshFooterButton = [UIButton buttonWithType:UIButtonTypeCustom];    _refreshFooterButton.frame = CGRectMake(0, 0, self.width, 44);</span>

2、在UITableViewController的基类中,定义了加载提示的视图、创建导航栏上的左右按钮,以及按钮的点击事件。


3、在UINavigationController基类中定义了一些导航栏的属性。

 

四、主要功能及技术:

1.首页中包含了减肥健身的多个话题,每个话题都对应用户的动态列表。动态列表中实现了图文混排。动态列表中可以包含"#话题#"这种链接,点击链接可以进入相应的话题页面。动态列表中还包含表情图片、其他的图片等。在动态列表中实现超链接,是通过使用已经封装好的类WXLabel来实现的。WXLabel中实现超链接的原理:主要是先通过正则表达式找出要添加超链接的字符串。然后通过协议方法为其设置相应的属性(如:字体、颜色等)、监听链接的点击事件来实现的。

2、在用户的动态列表中,实现了分享。可以将你想要分享的内容分享到第三方的平台。分享到新浪微博的实现:通过集成ShareSDK,在新浪微博的开放平台中创建了我的应用,获取到应用的Appkey 、appSecret,在ShareSDK进行设置,初始化新浪微博的平台,就可以实现分享。

3、实现了通过新浪微博的账号进行登录。实现原理:集成了ShareSDK 、ParseSDK,新建应用,获取ApplicationId、clientKey,为其设置相应的ApplicationId、clientKey,实现登录。

4、实现评论。集成ShareSDK和评论SDK,实现评论。

5、在找朋友的页面中,展示了一些用户的列表。其中按钮:活跃用户、在我附近、情况相似,分别对应三份数据。可以通过监听三个按钮的点击事件,来切换这个页面的数据。

6、在用户的动态列表中,实现了图片的放大和缩小。实现原理:子类化了UIImageView,定义了一个类ZooImageView。基本的实现原理:为UIImageView定义一些属性,添加点击手势,监听点击事件,改变UIImageView的frame,实现放大和缩小。

7、实现了瀑布流。通过UIWebView加载HTML链接实现的。

8、实现了上拉加载更多、下拉刷新。

9、使用的第三方的开源框架、工具类:

ShareSDK 、ParseSdk  实现登录、分享、评论

AFNetworking 实现网络请求

WXLabel 、RegexKitLite  实现超链接 

SDWebImage 加载图片

EGOTableViewPullRefresh 下拉刷新

DDProgressView 实现显示图片加载进度

MBProgressHUD 显示加载提示

MMDrawerController 实现左中右控制器的切换

 

五、总结

做项目之前没有把整体的框架构思好,然后做到后面的时候又返回去进行了修改,代码有点繁琐。在做项目的过程中,遇到了一些问题,和同学交流、自己网上查找资料。通过这个项目,增强了自己解决问题的能力,编写代码的能力,也熟悉了一些第三方框架的使用。





0 0
原创粉丝点击