项目源码:Github
简述
这个项目所有的UI都是使用SwiftUI写的。
我试着让这个Demo的结构尽量接近实际项目,同时使用比较简单方式去实现功能。这样可以让刚接触SwiftUI的人更够容易理解代码。
在此之前,我曾经在学习Flutter的时候也做了同样的练手项目,各位有兴趣可以关注: flutter_shuqi
我这几年尝试过几种不同的UI开发框架,包括:CocoaTouch、ReactNative、Flutter、SwiftUI。也写过React、Vue、小程序和快应用。个人觉得SwiftUI开发起来最顺滑,UI的代码量最少,观赏性最高。SwiftUI的API的使用难度上略高于Flutter,但是熟练后,开发效率比Flutter高。它高度贯彻了函数式编程(functional programming)的理念,所以整个开发体验还是非常不错的。
公司的项目准备不再支持iOS12了,所以利用空余时间学习了SwiftUI,并以书旗App作为练手,做了这个开源项目。
功能 ✨
- 主页面
- 处理UINavigationControllerDelegate
- 书城页
- page样式的tab view
- 自定义卡片
- 自定义毛玻璃效果的控件
- 书架页
- 自定义NavigationBar(根据ScrollView的offset控制显示