电子会员卡
开发环境:MacOS10.10
开发工具:Xcode6.4
第三方框架:友盟分享,LXActionSheet(自己修改了界面属性),ASI,SSZipArchive,KVNProgress,MJRefresh,FMDB,Colors等。
主要技术:多种控制器嵌套、自定义UI控件、自定义Delegate、网络处理(ASI)、SQLite数据库操作(FMDB)、多线程(GCD)、Quartz2D、社交分享(Umeng)、推送、第三方框架的修改使用、Auto Layout自动布局和相机相册的使用等等。
软件开发背景:
自学iOS一阵子了,跟着教程学习或多或少有一定的依赖感,从Objective-C到iOS SDK,到现在也不知道自己掌握了多少,因此特此独立写了这个软件,验证巩固下自己学习的情况,顺便把这个拿过去找工作做演示。
从开始写到结束,大概花了3周时间,大概5000多行代码,中间也有些模块的大幅度调整过,感受就是一定要先决定好方案,再动手,不然又是白搞。
工程结构:
软件简介:
电子会员卡是一款从客户的角度解决了出门带各种各样的会员卡的烦恼,并可以自助查询积分等信息,从商家的角度降低了发卡成本和更方便宣传促销活动的应用。商家如有优惠活动,可以向会员推送消息,提升会员卡的使用价值。
客户将会员卡信息从网上下载或者从本地导入,一个“电子会员卡”软件在手,不怕忘带会员卡,再也不会错过各种优惠活动了。
商家也不需要大量的金额制作卡片,发卡等繁琐的事情,只需在电脑上填入会员信息就能搞定。尤其促销活动的时候,更不需要拉着横幅开着卡车去大街上播放喇叭了。只变得推送消息那么简单了。
功能介绍:
软件有3个大模块组成,“优惠广场”,“我的会员卡”和“消息”。
第一次安装软件,那么一启动就显示注册界面,如下图。
注册成功后,首页就变成如下图;
1.在尚未注册情况下,左上角有个“注册”按钮,注册成功后隐藏。
2.找回密码:该功能是如果密码忘记了可以通过密保问题找回密码目的。
3.头像:头像是通过quartz2D将图片剪切后显示的。
4.右箭头的登录按钮:默认情况下是灰色的,不可点击的,只有在输入账号和密码后才显示可以点击状态。
一,优惠广场
优惠广场是商家有优惠活动时消息推送到这里的,由于本人没有服务器开发,里边的数据是本地的,模拟的数据,数据存储在plist当中。界面如下图。
1.是个tableViewController做的,主要的是自定义tableViewCell,纯代码实现的cell。该控制器工程MVC结构如下。
1.1 cellModel模型,是数据模型,包含如下属性和一个类方法,一个对象方法。
//打折信息 @property (nonatomic, copy) NSString *cutOff; //活动时间段 @property (nonatomic, copy) NSString *cutDuration; //具体内容 @property (nonatomic, copy) NSString *detailText; //图片 @property (nonatomic, copy) NSString *image; //参与人数 @property (nonatomic, copy) NSString *involvementNum; //发布时间 @property (nonatomic, copy) NSString *time; //地点 @property (nonatomic, copy) NSString *address; //针对人群 @property (nonatomic, copy) NSString *people; //电话 @property (nonatomic, copy) NSString *phoneNumber; @property (nonatomic, copy) NSString *partinFlag;; - (id)initWithDict:(NSDictionary *)dict; + (id)cellWithDict:(NSDictionary *)dict;
1.2 CellFrame是创建每个控件的frame的
1.3 Cell是连接Frame和Model的,它使cell变得有血有肉。
1.4比如我要参与沃尔玛的优惠活动,点击“参与”,则弹出一个alertView,需要输入提醒消息的标题。
点击确定后消息就被记录了,将在“消息”中显示,到活动时间会提醒。
1.5分享,如果你需要分享一条优惠活动,点击该条消息“分享”,目前用的是umeng的第三方社交分享SDK,由于很多分享平台都需要注册申请AppKey,只做了一下几个。
注:分享按钮是通过delegate来做的,该按钮在cell身上,分享也是cell本身的事情,可以分享cell的模型数据即可,但是无法将分享的弹出界面显示到cell身上,因此,当cell的分享按钮被点击了告诉tableviewControler,让它显示分享界面。当然前提是tableviewControler遵守了该协议。
二,我的会员卡
设计登录用户名和密码输入框在下半屏,键盘弹起会挡住输入框,因此做了调整,如下图。
登录后,如果没有可用会员卡时显示界面如下。
如有可用会员卡,则显示会员卡信息,可以对会员卡进行新建,编辑,排序,删除等操作。当然,积分是不能编辑哦!
2.1设置
设置由两个部分组成,“账号与安全”和“关于我们”
2.1.1 账号与安全
2.1.1.1 账号只是显示的,不可以点击
2.1.1.2 修改头像,可以从拍照,相册,照片库里选择
2.1.1.3 修改密码和密保问题就不说了,都是跳转了一个控制器实现的。
2.1.1.4 记住账号。
2.2关于我们
该部门由3个部分组成,“评分支持”,“分享”,“反馈”。
2.2.1 评分支持,不支持,软件没有上线嘛。
2.2.2 分享,举例微信分享下图。
2.2.3反馈是通过邮件反馈问题的。
---end
版权声明:本文为博主原创文章,转载请注明来源:http://blog.csdn.net/zhangwenhai001