前言:

这是我2016年3月开始写的,利用课余时间全心投入的项目,本以为是凭着轻松愉悦的方式来学习的,中途遇到bug解决bug的时候,每天晚上几乎都是写到寝室关灯,还有一次使用Github不当写了五天的代码一夜恢复到解放前,现在每次Commit都会把项目复制一份,项目使用OC写的,主要是想记录下OC项目整个过程,在过渡学习Swift,写的还不完善,不足之处还请见谅,由于时间比较匆忙,这个月还剩下十来天忙着考试,4月份会把后续功能实现,这是第一次把以项目的形式分享到博客。

项目描述(附源代码底部):

开源项目为36氪,一款提供股权类互联网金融平台APP,项目为纯代码,XIB+代码开发,所有的数据都是通过Charles抓包工具获取到的, 图片通过Extractor解压得到(部分图片找不到),视频播放器是通过36氪开源播放器(采用View+MPMoviePlayerViewController)改进的播放器使用的是View + AVPlayer,支持播放mp4、mov等格式,网络和本地视频同时支持,支持Cell中全屏和小屏自动感应旋转屏幕,参考WMPlayer,无需第三方库支持。

效果图:

首页效果

侧滑效果

其他模块首页效果

氪TV首页效果

新闻内容页效果

 

轮播页内容效果

评论页效果

搜索页效果

 

离线缓存

项目当中用到的缓存方式是JSON数据以文件的形式保存,因为要放到文件当中存储,所以在这里JSON要经过一定的转化,如果不经转化取出来的字典数组是为空的,我的方式是这样的,具体可以参考HttpRequest文件和NewsVC

保存的过程:NSDate->NSString

取出过程 NSString->JSON对象序列化-》(字典数组)NSArray->模型数组(NSSArray)

值得注意点:

数据解析:[{}]格式 使用 字典数组 -> 模型数组 ,{} 字典 转一个模型

AVPlayer:可以通过videoGravity有三种形式设置播放形AVLayerVideoGravityResizeAspect,AVLayerVideoGravityResizeAspectFill,和AVLayerVideoGravityResize。默认的是AVLayerVideoGravityResizeAspect:会出现顶部和底部分别有20大小的间隙,AVLayerVideoGravityResize(项目当中用到的):拉伸,以填补CALayer的界限AVLayerVideoGravityResizeAspectFill:保留长宽比;填补CALayer的界限。

解决网速慢的问题:(用寝室CMCC播放视频的时候会出现视频停止的效果,需要再次点击才可以继续播放,在卡在点的情况),我的解决办法是这样的,通过判断当前时间和播放时间进行比较,如果一致则出现停顿情况,具体可以详见项目

讨论页Cell自适应:我的思路是这样的,首先cell先计算好文本高度,然后将高度的值赋给heightLabel(用于保存每个cell的高度),控制器在从heightLabel取出(这样减少一次在heightForRowAtIndexPath方法在计算一次高度)

新闻内容页:顶部用户简介是一个cell,新闻内容页是一个经过嵌套webView的cell

ESJsonFormat-Xcode在开发中用到这个工具,所以文件命名的时候不规范,还请见谅

项目是独立开发的,目前还在校园,QQ363905547 有问题可以一起探讨

希望顺便点一下右上角的⭐️Star ,朋友的鼓励和支持是我继续分享的动力

github地址  仿36氪 源文件地址

视频播放器:源文件地址

转载于:https://www.cnblogs.com/linmingjun/p/5307936.html

仿36氪(iOS版附源代码)相关推荐

  1. android仿36氪轮播,仿36氪(附源代码)

    前言: 这是我2016年3月开始写的,利用课余时间全心投入的项目,本以为是凭着轻松愉悦的方式来学习的,中途遇到bug解决bug的时候,每天晚上几乎都是写到寝室关灯,还有一次使用Github不当写了五天 ...

  2. 高仿土豆视频iOS版

    高仿土豆视频iOS版,版本号:4.9.1 以下是截图 首页: 今日热门: 自频道: 4.分类: 5.订阅: 6.视频详情 7.发现: 8.我的 github代码:https://github.com/ ...

  3. 【报告分享】2020年中国企业直播研究报告-36氪.pdf(附下载链接)

    今天给大家分享36氪研究院于2020年5月份发布的报告<2020年中国企业直播研究报告.pdf>,报告共包含如下四大章节: 1.企业直播行业发展概况: 2.企业直播产业链分析: 3.企业直 ...

  4. 【报告分享】2021中国结婚消费新常态用户行为洞察报告-婚礼纪36氪研究院(附下载)

    摘要:2020年,结婚率走低,结婚行业获客成本越来越高.经营管理成本居高不下,让许多结婚行业服务商家寻求数字化转型.在数智化时代,结婚服务平台链接消费者和商家,帮消费者找到合适的服务,帮商家提供数据. ...

  5. 【报告分享】2025美妆行业科技应用前瞻报告-36氪研究院(附下载)

    摘要:随着国人对美和个性需求的提升,美妆行业在中国迎来蓬勃发2020年中国社会消费品零售总额同比下降3.9%,而化妆品销售总额同比增长9.5%.宅经济.线上"超级"空间(云直播.云 ...

  6. 仿酷狗音乐播放器开发日志二十一 开发动态调色板控件(附源代码)

    转载请说明原出处,谢谢~~ 上一篇仿酷狗日志结束后,整个换肤功能就仅仅剩下调色板功能没有做了.我本以为会非常easy.可是研究了酷狗的调色板功能后发现不是那么简单的事情.首先看一下酷狗的调色板的样子: ...

  7. 高仿美团iOS版,版本号5.7

    高仿美团iOS版,版本号:5.7 iOS技术交流群:112365317 github链接:https://github.com/lookingstars/meituan 如果你觉得不错,欢迎star ...

  8. 大写金额换算器iOS版源代码

    大写金额换算器iOS版源代码 人民币金额大写转换器输入数字即可转换成对应的人民币大写金额,操作非常简单,需一键点击,即可复制.是财务办公人员必备的小工具. 银行.单位和个人填写的各种票据和结算凭证是办 ...

  9. 科创人·36氪副总裁王坤:企服产品应重视使用者体验,36氪将推出中国版「魔力象限」

    王坤 36氪副总裁.企服点评负责人 王坤拥有近10年的互联网产品设计.运营经验和团队管理经验.加入36氪前,曾先后就职于360.百度.网易等多家顶尖互联网公司,全面操盘过网易新闻.网易公开课.百度视频 ...

最新文章

  1. 您有一个新的订单mp3在线_Airtable,不仅仅是强大的在线表格应用,而是一个新物种...
  2. 一些简单的SQL语句
  3. 关于类与对象操作的细节与注意事项(c++细节篇三)
  4. Java程序设计----Java编程基础
  5. 动手学PaddlePaddle(1):线性回归
  6. 牛客 Bang! Bang!(动态规划)
  7. excel checkbox mysql_ajax – checkbox – 使用jquery和mysql选中或取消选中
  8. 神经网络核心基础:MP Model
  9. HttpUtility.UrlEncode 方法
  10. 源码专题之spring设计模式:策略模式、原型模式、模板模式
  11. 高等数学在计算机中的应用论文1500字,大学高等数学论文范文
  12. 手机ram内存测试软件,RAMTester(内存检测工具)
  13. AOC显示器OSD已锁是什么意思?怎么解锁?
  14. 杭电ACMSteps中Chapter One——Section 3中所有ac代码及解析
  15. Mac OS X: XAMP在Mac上的实现
  16. pikachu漏洞平台通关系列导览(所有关卡已完结)
  17. 日本留学签证 申请途径(通过中介)
  18. windows桌面远程连接(以XP连windows7为例)
  19. House of sprit一谈
  20. 新媒体运营教程:策划一场成功漂亮的活动策划

热门文章

  1. 这是一个开始,更是一个起点
  2. 智力题之【老鼠吃毒药问题】
  3. linux命令记忆方法,Linux命令快速巧记法
  4. 鲁大师发布Q1手机性能榜,ROG5幻影夺冠,超过93万分!
  5. postgres物理备份与恢复
  6. 病毒分析要掌握的技能
  7. 学习曲线和决策边界的绘制
  8. Android与Linux的区别
  9. javascript解析url问号参数成对象
  10. vue 大屏数字上下滚动