TodayNews

仿今日头条
授权协议 MIT
开发语言 Swift
所属分类 手机/移动开发、 手机相关软件
软件类型 开源软件
地区 国产
投 递 者 荀靖
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

说明

首先声明,今日头条是我经常用的 app 之一,模仿今日头条也是因为感兴趣,代码仅用于学习交流。对于项目中的数据接口都是通过 Charles 抓包获得,基本每个界面都是有数据请求,不会抓包的朋友可以看我 这一篇文章

项目中有的地方代码写的不是很简洁,毕竟自己能力有限,对 Swift 使用不是很熟练,还请各位朋友不喜勿喷。下面有项目的完整源码,喜欢的朋友可以下载下来,如果您感觉我写的代码对您有所帮助,还请在 github 给个 star,非常感谢您的支持!~

github 地址

CodeData 地址

环境设置

  • 项目环境

    • Xcode 7.3.1(低于这个版本会报错)。

    • Swift 2.2

    • iOS 8.0 +

  • 使用 cocoaPods 管理第三方库, 如果电脑没有安装 cocoapods,请先安装 cocoapods。安装方式可参考:最新版 CocoaPods 的安装流程

  • 项目中使用到的第三方库

    • SnapKit: 布局

    • Kingfisher: 缓存图片

    • SVProgressHUD:提示框

    • FDFullscreenPopGesture:侧滑

    • Alamofire :网络请求

    • SwiftyJSON:解析 json

    • MJRefresh: 上拉刷新和下拉刷新

实现的功能

  1. 获取今日头条的接口

  2. 完成首页的布局和数据的显示

  3. 实现首页顶部导航栏滚动

  4. 新闻详情界面简单实现

  5. 点击屏蔽按钮,弹出屏蔽视图(坐标有一些问题)

  6. 完成视频界面顶部导航栏滚动

  7. 完成视频界面布局和数据获取

  8. 用户界面简单实现

  9. 完成关注界面布局和数据的获取

  10. 完成关注界面,添加关注功能

  11. 完成搜索功能

  12. 完成个人界面的布局

  13. 完成设置界面的布局

  14. 完成离线下载界面布局

  15. 活动界面简单实现

  16. 登录界面的简单实现

  17. 启动界面的简单实现


数据请求

今日头条的接口文件请看: news.json,需要提前安装 postman,然后把该文件导入到 postman 进行查看,可以打开谷歌浏览器,找到扩展程序,添加新的扩展,搜索 postman。

下载地址请看 postman,下载完成后,直接拖入到谷歌浏览器的扩展程序界面即可。

数据请求的具体方式,请看 YMNetworkTool.swift

  • @ContentView(R.layout.activity_main) public class MainActivity extends AppCompatActivity implements View.OnClickListener{ @ViewInject(R.id.hsv_title) private HorizontalScrollView hsvTitle;

  • 仿今日头条的一个项目 (正在学习制作中) 现在包括Tablayout 和 侧拉 (slidingMenu) 这两个功能 逐渐完善中... xutils3和tablayout 须要加的 在gradle里边 compile 'org.xutils:xutils:3.5.0' compile 'com.android.support:design:25.3.1' 侧拉须要导包 MainActivity

 相关资料
  • 本文向大家介绍iOS自定义UITabBar仿今日头条效果,包括了iOS自定义UITabBar仿今日头条效果的使用技巧和注意事项,需要的朋友参考一下 动机 关于自定义 TabBar,早就有过很多讨论,开源网站上也有很多造好的轮子,多半是纯代码实现有个性的 TabBar,当然我们可以很方便的使用它。周末闲着没事干,自己也写了一下,模仿今日头条的 TabBar 效果,实现方式是Storyboard +

  • 11.1 今日头条 1.今日头条后台,配置“转化类型”为“激活”、“激活且注册”或“激活且付费”的转化; Ps:及策仅支持回调激活和注册,无付费指标 2.监测地址,填写及策后台生成的点击监测链接。 3.今日头条后台,一个计划只能对应一个转化,一个转化可以对应多个计划。 若需按照计划维度监测数据,可以创建多个转化,和计划一一对应。 头条后台设置: 第一步:创建转化跟踪 第二步:设置广告监测 “创建目

  • 本文向大家介绍Android仿今日头条滑动页面导航效果,包括了Android仿今日头条滑动页面导航效果的使用技巧和注意事项,需要的朋友参考一下 最近项目中用到了滑动页面,也就是和目前市场上很火的"今日头条"页面滑动类似,在网上找了一下,大部分都是用ViewPager来实现的,刚开始我用的是ViewPager+ViewGroup,上面的标题按钮用的是HorizontalScrollView,写完之后

  • 本文向大家介绍Android仿今日头条多个fragment懒加载的实现,包括了Android仿今日头条多个fragment懒加载的实现的使用技巧和注意事项,需要的朋友参考一下 前言 最近有时间,所以我又双叒叕推新一篇文章了,fragment懒加载实现虽然是个小模块,但做过的人都有体会,通常并不会轻易就成功了的,让你辗转反侧,彻夜难眠,绵绵无绝期。我就按照今日头条的样式做了一个懒加载功能。文章到一半

  • 本文向大家介绍微信小程序仿今日头条导航栏滚动解析,包括了微信小程序仿今日头条导航栏滚动解析的使用技巧和注意事项,需要的朋友参考一下 项目需要,做一个和今日头条一样的导航栏,可以横行滚动,幸好再weui里面看到了类似的例子 地址:https://weui.shanliwawa.top/demo/js4.html,使用iscroll-lite.j实现,weui自己封装了一层,vue中实现代码: 注意:

  • 数据结构中堆的概念,堆排序 死锁的概念,怎么避免死锁 ReentrantLock 、synchronized和volatile(n面) HashMap singleTask启动模式 用到的一些开源框架,介绍一个看过源码的,内部实现过程。 消息机制实现 ReentrantLock的内部实现 App启动崩溃异常捕捉 事件传递机制的介绍 ListView的优化 二叉树,给出根节点和目标节点,找出从根节点