GitHub 链接:SwiftUI-WeChatDemo
效果图

实装内容
- 4 个 Tab 页面 + 聊天界面,使用纯 SwiftUI 搭建而成
- 应用启动界面 Launch Screen
- 国际化及应用内语言切换功能
- Combine 使用场景(聊天界面简易对话功能)
- 极度简化的 MVVM 架构
- 逻辑部分纯 Swift5 书写,几乎不涉及 OC 类及 UIKit 库
- 不使用第三方框架(除了 SwiftGen 提供便利)
难点
- 在聊天界面中隐藏 Tabbar(未能实现)
- 聊天界面中信息滚动功能,尤其动画滑动效果难以实现
- 保持键盘焦点,不自动隐藏(有望在 SwiftUI 3 后实现)
- 发现页图标的动态颜色指定(实现起来障碍较大,多番尝试发现无法简单地将 Color 和 一众渐变色类型 存储到单一变量,并且 View 比较难以扩展,语法糖副作用严重)
- SwiftUI 原生视图难以完美复刻微信原生界面(尤其是联系人页),判断是微信使用了大量自定义视图
- Tab 按钮添加红点(无法实现,SwiftUI 原生视图仅接受 Image 和 Text,对 Modifier 的修改直接忽略)
- SwiftUI 中 Combine 的使用(通过 ObservableObject 构造 ViewModel 实现)
- 应用内语言切换(通过 自定义配置 SwiftGen 实现)
坑
跨境电商:https://www.ikjzd.com/
执御:https://www.ikjzd.com/w/717.html
出口易:https://www.ikjzd.com/w/1317
斑马物联网:https://www.ikjzd.com/w/1316
GitHub链接:SwiftUI-WeChatDemo效果图实装内容4个Tab页面+聊天界面,使用纯SwiftUI搭建而成应用启动界面LaunchScreen国际化及应用内语言切换功能Combine使用场景(聊天界面简易对话功能)极度简化的MVVM架构逻辑部分纯Swift5书写,几乎不涉及OC类及UIKit库不使用第三方框架(除了SwiftGen提供便利)难点在聊天界面中隐藏Tabbar(未能实现
活动树:https://www.ikjzd.com/w/1518
锦桥纺织网:https://www.ikjzd.com/w/2469
韩国naver:https://www.ikjzd.com/w/1727
四姑娘山民俗风情 - :http://www.30bags.com/a/405915.html
四姑娘山三峰和骆驼峰禁攀令 :http://www.30bags.com/a/414253.html
四姑娘山特产介绍 - :http://www.30bags.com/a/408151.html
四姑娘山天气预报 :http://www.30bags.com/a/411670.html
男朋友把我抱到镜子前做 对着镜子从后面挺进她:http://www.30bags.com/m/a/249754.html
印度公开拍卖女孩的"初夜",便宜免费玩,可耻:http://lady.shaoqun.com/a/426298.html
女床这个小习惯不好说,但是有七大健康好处!:http://lady.shaoqun.com/a/426299.html
深圳欢乐港湾儿童乐园有秋千吗:http://www.30bags.com/a/513922.html
深圳欢乐港湾童乐园大喇叭使用须知:http://www.30bags.com/a/513923.html
No comments:
Post a Comment