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下拉刷新上拉加载功能集成上去即可
这样所有需要该功能的页面只需写少量业务代码即可(网络请求之类的)
如图所示
分类:
iOS
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2021-07-21 iOS sizeForItemAtIndexPath方法在iOS14下变化