基于Telegram二次开发 --- App一级页面逻辑

分享
源码 2024-9-3 20:50:14 15 0 来自 中国
前言:

Telegram 这个项目 clone 的时间我们就能直观的看到这个项目是有多大,整整32800多个文件必要 clone 下来,还经常由于在 clone 过程中丢失文件造成各种各样的题目;
更痛楚的是,当我们编译出项目文件,文件里险些找不到任何表明信息,导致我们基于Telegram二次开发时极大地上手难度,与信息壁垒,但我们将步伐Run起来以后,又会惊叹于此App简便且流畅的利用体验;
从简入繁,我们先从App页面逻辑跳转以及它们所对应的控制器逐个击破。
分析版本:Telegram 8.7.1

一、登录流程

RMIntroViewController: App启动完毕我们望见的第一个界面,由pageView构成六个先容文案,提供了 Start Messaging 交互按钮,进入到登录流程界面,第一个页面还挺让我惊讶,此页面居然没有被swift重构,照旧利用的OC。

2.png
AuthorizationSequencePhoneEntryController: 点击 Start Messaging 以后进入的页面,输入对应的国家区码和手机号,确认无误以后,点击右上角 Next 按钮,进入验证码界面。
AuthorizationSequenceCodeEntryController: 验证码界面,输入收到的验证码,验证乐成以后就进入主界面。
二、主界面

TabBarController: 登录以后的 rootViewController 分为三个模块。


ChatListController: 消息列表模块, TabBarController 默认展示的控制器,负责收发消息的管理。
ContactsController: 接洽人模块,负责接洽人管理。
PeerInfoScreen: 设置模块, PeerInfoScreen 从定名上就可以看出它跟其他 Controller 的差别,它是作为 Screen(场景) 来构建了多个公共模块,好比 ChatController 点击右上角按钮进入的详情页,以及设置模块右上角 Edit 按钮,切换成编辑模式。
三、Debug界面

Review 代码时发现,为了方便调试,Telegram 提供了 DebugController ,进入这个界面的方式很故意思:连续点击 Tabbar 第三个item Settings 10下 ,我们就能进入到潜伏的Debug界面。

以上,就是Telegram提供的全部的一级页面。
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-19 15:37, Processed in 0.179351 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表