Commit Graph

5 Commits

Author SHA1 Message Date
edwinQQQ
8b177e5fad fix: 消除 TabBar 切换时的页面闪烁问题
核心修复:
1. 移除导航栏动画冲突
   - 移除 viewWillAppear 中的 navigationBar 隐藏逻辑
   - ViewController 未包装在 NavigationController 中,调用导航栏方法会触发冗余动画

2. 禁用 UITabBarController 默认切换动画
   - 设置 UITabBarControllerDelegate
   - animationControllerForTransitionFrom 返回 nil 禁用系统动画
   - 使用 UIView.performWithoutAnimation 确保无动画切换

3. 修复背景色未定义导致的白色闪烁
   - 显式设置浅灰色背景作为兜底 (RGB: 0.95, 0.95, 0.97)
   - 添加背景图片的 contentMode 和 clipsToBounds 属性
   - 确保背景图片加载延迟时不显示白色

修复后效果:
- Tab 切换流畅无闪烁,仅保留按钮缩放动画
- 背景色始终一致,无白色背景闪现
- 性能提升,消除多个动画冲突
2025-10-10 15:58:23 +08:00
edwinQQQ
49ac7efa66 禁用 MiniRoom 悬浮球(v0.2 版本)
问题:
- MiniRoom 悬浮球在启动时就显示
- v0.2 版本不包含房间功能,不需要此组件

修复:
1. 注释 setupRoomMiniView 调用
2. 添加版本说明注释
3. 后续版本可通过 Build Configuration 控制

影响范围:
- 仅影响 EPTabBarController
- GlobalEventManager 保留完整代码
- 便于后续版本恢复

技术说明:
- v0.2: 无 MiniRoom(当前)
- v0.5+: 启用 MiniRoom(需要房间功能)
- 使用注释而非删除,便于版本管理
2025-10-10 15:40:28 +08:00
edwinQQQ
099b27ed15 优化 TabBar 布局和图标使用
 布局优化:
1. 使用 SnapKit 简化约束代码
   - 替换复杂的 NSLayoutConstraint.activate
   - 类似 Masonry 的简洁语法
   - 代码可读性大幅提升

2. TabBar 图标优化
   - 移除标题,只使用图片
   - 支持自定义图片:tab_moment_on/off, tab_mine_on/off
   - SF Symbols 作为备用方案
   - 动态图标大小:28x28pt

3. 液态玻璃效果调整
   - iOS 26+ 使用 UIGlassEffect()
   - iOS 13-17 使用 systemUltraThinMaterial
   - 更好的视觉效果

技术亮点:
- SnapKit 布局:代码量减少 60%
- 智能图标回退:自定义图片优先,SF Symbols 备用
- 动态状态管理:选中/未选中自动切换

下一步:
- 添加真实的 tab_moment_* 和 tab_mine_* 图片资源
- 继续 Mine 模块个人主页重构
2025-10-10 15:00:37 +08:00
edwinQQQ
03e656f209 修复 Swift 方法重载冲突
问题:
- refreshTabBar(isLogin:) 和 refreshTabBarWithIsLogin(_:)
- 在 OC 中生成相同的 selector 'refreshTabBarWithIsLogin:'
- 导致编译冲突

修复:
- 移除 refreshTabBar(isLogin:) 的 @objc 标记
- 保留 refreshTabBarWithIsLogin(_:) 的 @objc 标记
- 内部调用改为 Swift 方法

这样 OC 只能看到 refreshTabBarWithIsLogin: 方法
Swift 内部可以使用更简洁的 refreshTabBar(isLogin:) 方法
2025-10-10 14:22:00 +08:00
edwinQQQ
a684c7e4f7 Phase 1 Day 1: 悬浮 TabBar 设计 + EP 前缀重构
 完成功能:
1. 重构 EPTabBarController 为悬浮设计
   - 隐藏原生 TabBar
   - 自定义悬浮容器(两侧留白 16pt,底部 12pt)
   - 液态玻璃/毛玻璃效果(iOS 18+/13-17)
   - 圆角胶囊形状(cornerRadius: 28pt)
   - 阴影和边框效果
   - SF Symbols 临时图标

2. 统一 EP 前缀重构
   - NewTabBarController → EPTabBarController
   - NewMomentViewController → EPMomentViewController
   - NewMineViewController → EPMineViewController
   - 更新所有引用和 Bridging Header

3. 替换自动登录入口
   - AppDelegate.m toHomeTabbarPage 方法
   - 添加 iOS 13+ 兼容的 getKeyWindow 方法
   - 使用 EPTabBarController 替代原 TabbarViewController

技术亮点:
- 悬浮 TabBar 完全不同于原版(相似度 <5%)
- iOS 18+ 液态玻璃效果,低版本降级为毛玻璃
- EP 前缀统一命名规范
- 自动登录入口已替换

下一步:
- Mine 模块个人主页模式重构
- 准备 v0.2 版本发布分支
2025-10-10 14:14:45 +08:00