iOS UINavigationController、UITableViewController(普通和下拉刷新上拉加载)、UIViewController项目中的基类设计

我们在项目中经常会使用到导航、表格、以及下拉刷新上拉加载等功能,现在从整体结构上浅谈下项目结构设计

一、UINavigationController

系统的导航功能固然好用,但实际的情况是大部分场景UI效果并不能使我们满意,所以一般我们都会使用自定义导航

A、修改UINavigationBar,这种还是有很多局限性

B、使用View(NavigationView)完全自定义UINavigationBar,这种比较灵活

下面以B方案来实现

1、自定义UINavigationBar(使用View添加返回按钮、标题)

2、创建UIViewController基类BaseViewController,在基类上添加自定义导航

3、开启侧滑功能,使用三方库FDFullscreenPopGesture,该库可以完美解决转场效果以及可以实现全屏侧滑,可以使用该库功能隐藏系统的UINavigationBar

二、UITableViewController

1、表格

系统提供了该表格控制器,但我们基于后期的灵活配置以及可扩展性,最好使用以下方案

继承BaseViewController创建BaseTableViewController,在BaseViewController上添加UITableView即可

2、下拉刷新上拉加载更多

继承BaseTableViewController创建BaseRequestTableViewController,将三方库MJRefresh下拉刷新上拉加载功能集成上去即可

这样所有需要该功能的页面只需写少量业务代码即可(网络请求之类的)

 如图所示

 

 参考资料:https://www.jianshu.com/p/62015b4c9076

posted @   小菜看代码  阅读(164)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2021-07-21 iOS sizeForItemAtIndexPath方法在iOS14下变化
点击右上角即可分享
微信分享提示