熠记账ios

工具 办公软件 案例ID:249399
redstar
8 年经验· 上海
微信扫码沟通,客服可协助直接对接工程师;如当前档期不合,也可继续推荐相似案例作者。

案例介绍

1. **三范围/两筛选常驻挂载保位置**:首页(今天/本周/本月)、通知(全部/未读)用 `ZStack` + `opacity/allowsHitTesting` 仅切可见性,避免切 tab/筛选时列表重建、滚动位置丢失(对齐 miniapp)。
2. **Root 不包外层 NavigationStack**:根 `Group` 直切 `MainTabView`/`LoginView`,否则各 tab `toolbar principal` 标题消失(NavigationView 混用问题)。
3. **分段控件选中态残留**:设置页 `SegmentPill` 拆独立子视图以 `Bool isSelected` 驱动背景,用 `Group{if/else}` 而非 `AnyShapeStyle` 三元——避免 SwiftUI 类型擦除跳过重绘导致「上一个背景残留」。
4. **头像本地缓存**:FNV-1a 稳定哈希文件名(禁用 `hashValue`,跨启动不稳定),上传即落盘,下次冷启直接本地取,消除「头像一会才显示」。
5. **模态竞态**:设置页选图 sheet 完全 dismiss 后延时 0.6s 再 present 裁剪 `fullScreenCover`,用 `item:` 驱动避免 nil 兜底黑屏。
6. **启动页首帧**:`showSplash` 初始值取 `isLoggedIn`,冷启动已登录直接显示 Splash,无主框架闪烁。

熠记账ios

工具 · 办公软件 案例ID:249399
联系该工程师
微信扫码,建群沟通
作者: redstar - 8年经验- 上海

案例介绍

1. **三范围/两筛选常驻挂载保位置**:首页(今天/本周/本月)、通知(全部/未读)用 `ZStack` + `opacity/allowsHitTesting` 仅切可见性,避免切 tab/筛选时列表重建、滚动位置丢失(对齐 miniapp)。
2. **Root 不包外层 NavigationStack**:根 `Group` 直切 `MainTabView`/`LoginView`,否则各 tab `toolbar principal` 标题消失(NavigationView 混用问题)。
3. **分段控件选中态残留**:设置页 `SegmentPill` 拆独立子视图以 `Bool isSelected` 驱动背景,用 `Group{if/else}` 而非 `AnyShapeStyle` 三元——避免 SwiftUI 类型擦除跳过重绘导致「上一个背景残留」。
4. **头像本地缓存**:FNV-1a 稳定哈希文件名(禁用 `hashValue`,跨启动不稳定),上传即落盘,下次冷启直接本地取,消除「头像一会才显示」。
5. **模态竞态**:设置页选图 sheet 完全 dismiss 后延时 0.6s 再 present 裁剪 `fullScreenCover`,用 `item:` 驱动避免 nil 兜底黑屏。
6. **启动页首帧**:`showSplash` 初始值取 `isLoggedIn`,冷启动已登录直接显示 Splash,无主框架闪烁。

相似案例推荐

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在 1 小时内与您联系确认。

1小时精推人才

需求方专属客服,免费梳理匹配

需求方客服微信二维码
扫码加微信 · 客服人工对接
更多案例
微信沟通 客服 看中这位工程师了?客服帮你 1 小时对接沟通 → ×