iOS仿喜马拉雅FM做的毕业设计及总结(含新手福利源码)

其实仿喜马拉雅FM很早就开始了,从我刚接触iOS开始,就开始仿做了一部分,眼尖的人都从我的github找到了那个项目。随着找到实习iOS工作,仿写就落下了,但唯一的收获就是给过去打了一个响亮的耳光,因为刚入门没注意一些变量的命名,看着以前的view1,view2,button1,button2有一股想哭的冲动。

项目的缺陷很多,除了命名垃圾之外,还有项目框架的搭建也很垃圾,项目目录结构还算清晰,但在 Finder 中的目录结构就惨不忍睹了。如果不习惯的可以使用synx使工程目录和Finder目录同步。附上简友教程,在这里也推荐一篇阿里kuailejim写的文章:iOS移动端架构的那些事。

 

简单说一下界面(其实这个项目在当时我看来提高了对iOS的理解,自定义视图练练手也不错),先附上学习iOS前项目地址,可以查看实现它的commits。注意事项:前项目是用CocoaPods管理第三方的,所以不能运行的情况下记得update pods.

 


 

首页

 

发现 – 首界面 – 推荐

 

这个界面主要使用了第三方框架WMPageController,最主要的是使用了MVVM的设计模式,具体请下载源码参考。

 

发现 – 首界面 – 分类

 

这个界面在源码中是自定义cell(内部button), 反正比我现在想的复杂多了,当时还要计算划分。实习久了,知识巩固牢了,让我现在做的话应该是cell套collectionView。

 

发现 – 首界面 – 榜单

 

榜单跳转

 

这个页面没什么特别的,无非就是自定义cell,但对比之前做的多了跳转,跳转的时候注意的地方就是还要根据各个榜单的分类进行相应的跳转。

 

首界面跳转分类页面

 

首界面分类跳转 – 子分类界面

 

这个界面使用了WMPageController来实现复用。

 


 

主播页

 

主播页


这个也是使用了自定义cell,三个按钮回调cell的代理事件,而进行Controller跳转主播详情页。还有就是复用了tableViewCell的分组头(viewForHeaderInSection)。对比之前学习版本加了一个主播本地关注的功能。使用的是plist文件存储,但服务器是有字段保存关注的,所以不能让关注按钮根据服务器给的字段value改变selected状态。

 

主播 – 主播详情页

 

这个界面就没什么特别了,就是自定义了一个主播顶部头视图topView(xib)作为tableView的子视图。

 

[self.tableView addSubview:_topView];

 

self.tableView.contentInset = UIEdgeInsetsMake(300,0,0,0);

 


 

个人中心页

 

我的 – 登录界面

 

这个界面用了别人的素材,超萌的一个登录框。登录界面的数据是在Class-我-Controller-UserAccount.plist文件中。如果还不清楚先使用账号:admin ;密码:admin

 

我的 – 个人中心页

 

功能没做什么,最主要的是下载的声音和关注的主播这两个功能(都是通过本地plist文件存储信息)。让我印象深刻的是为了做好它我在答辩前一天熬夜把下载后本地存储并本地播放这个功能完善了,但第二天老师竟然没给我展示这个模块,有种受打击的感觉。但想想大学四年能认可你的人太少了,毕竟未来的舞台并不在大学里面。

 


 

写在后面的话

 

大学随着这个毕业设计的完成以及答辩就画上了圆满的句号。大学的时光总是很短暂,四年的时间飞逝,程序猿唯一告别单身的机会即将结束,实习期也体验到了外面社会的残酷与现实,正好赶上了iOS和Android移动端的末班车,工作异常的难找。因为回学校办理毕业等繁杂手续不得不辞去上一份iOS实习生的工作。回学校也没有停下学习,一直在紧跟iOS大牛群中群友的脚步,学习了RunTime入门,Swift语言,甚至开始想了解前端后端的实现。心中早已有计划就不怕路远,但路漫漫其修远兮,总还是需要吃饭的。

 

在此也顺便求份工作,朋友们有工作介绍的可以推我过去。我在广州,iOS开发也有2年左右的经验,工作经验如果算上加班时间,满打满算一年多了。工作中的项目多为外包,所以我手上的项目也很多,也做过前公司自己的上线项目。实习阶段最大的收获是团队开发和xib的快速开发,当然还有就是命名规范化!

 

注意事项:此源码仅适合新手,查看源码过程中出现头晕目眩,心中有想骂人的冲动等不适情况,请将源码放入废纸篓并清空。

 

源码:https://github.com/HansRove/XiMaLY

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作者HansRove,源码XiMaLaYa-by-HansRove-,仿喜马拉雅, 对AVFoundation框架的一次尝试 软件环境: iOS9.1硬件环境: Mac OS X 10.11开发工具: Xcode7.1 项目描述: 模板是“喜马拉雅FM”,因为很喜欢这个软件的风格和内容,当时这款软件参杂着太多的广告以及推广。所以打算通过抓包,并Json解析出数据,进而使用自己搭建的界面完成视听播放功能, UI也算是高仿喜马拉雅FM”.但部分内容在原来基础上了相应的修改。 功能概述: 0、音频播放:这是最基础的模块,提供用户收听各类声音、专辑及电台主播。 1、发现听:实时动态的信息展示页,每天的音频热门信息和音频专辑集数的更新;展示给用户声音分类和电台及网络主播相应的推荐页供用户选择交互。 2、定制听:记录用户关注的声音(专辑)、主播和电台以及收听历史,并推荐近几天热门声音。 3、下载听:记录用户下载记录并对用户下载过的声音进行分类展示。 4、搜索功能:根据热词提供展示,用户可以搜索主播、电台、声音或专辑。 项目所用技术及框架:【纯代码+故事板】项目使用MVVM模式搭建 1、二次封装AFNetworking与MJExtension进行数据请求与解析; 2、使用Masonry实现纯代码布局,使用MJRefresh实现下拉刷新上拉加载; 3、大量使用自定义Cell、自定义Button、自定义View来实现多控件封装方便布局使用; 4、使用AVFundation实现在线音频播放。并自定义播放器外观以及进度条配置; 项目收获: 1、对MVVM模式的使用更加熟练,设计模式的了解及掌握为未来开发少走了许多弯路; 2、熟悉JSON数据解析,对数据处理有一定的了解,特别是掌握了MJExtension框架的原理及写法; 3、通知中心及单例模式的使用,减低了代码的耦合性; 4、纯代码跳转Storyboard或者Xib使用更加熟练;封装了好多自定义视图,方便布局。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值