【iOS】仿知乎日报,RxSwift-Part1-首页搭建

本文通过RxSwift实现仿知乎日报的首页,包括导航栏颜色变化、轮播图无限滚动、自动加载更多及导航栏标题日期显示。详细介绍了每个功能的实现原理和代码实现,提供源码地址供参考。
摘要由CSDN通过智能技术生成

前言

之前的几篇博客算是入门篇,那么这篇就是RxSwift的实战篇。由于对RxSwift的认识还不够深刻,所以项目中没有使用MVVM模型,以及编程思想也还没转变过来。该项目是参考https://github.com/kLike/ZhiHu-RxSwift实现的,最大的实现区别就是,我用的是纯代码实现,还有对网络请求的封装。此外,原项目中存在大量强解包,很容易crash。因此,我是在原来基础上,做了一些优化,虽然在转模型上没有那么优雅,但是比原来的安全。最后,还是非常感谢该作者源码的贡献~

框架介绍

框架 说明
Moya 对Alamofire的封装
Moya/RxSwift 针对RxSwift的Moya扩展
Kingfisher 喵神的网络图片加载库
HandyJSON 阿里巴巴出的Json转模型库
RxSwift 这次主角
RxCocoa 这次主角
RxDataSources 对原生的UITableviewDataSource的Rx包装
SwiftDate 处理Date的库
SnapKit Mansory的swift版
SlideMenuControllerSwift 侧栏显示

整体架构搭建

SlideMenuControllerSwift作为根控制器,侧栏为left VC,tabbarVC为center VC。然后tabbarVC添加两个控制器,一个为首页,一个为其他话题,然后隐藏tabbar,通过侧栏点击切换。如下图所示:

整体框架

首页搭建

1、导航栏的设置

先来看看效果图:
首页导航栏效果演示.gif

刚开始导航栏的颜色是透明的,随着tableView向上滚动时,导航栏主键显示颜色。

设置代码如下:

  • 获取导航栏的背景图,用于滚动时修改颜色和透明图
  • 设置barTintColor为蓝色
  • 设置barTintColor为白色
barImg = (navigationController?.navigationBar.subviews.first)!
        barImg.alpha = 0
        navigationItem.title = "今日要闻"
        navi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值