天天看点

SwiftUI 高仿书旗小说App

项目源码: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控制显示/隐藏)
  • 个人页
  • 书籍详情页
    • 实现常规动画
    • 弹出全屏覆盖页面
  • 阅读页
    • 菜单的出现/消失动画
  • 其他功能:
    • 支持日间/夜间模式
    • 延迟加载的view,延迟加载的navigation link

截图 📸

SwiftUI 高仿书旗小说App
SwiftUI 高仿书旗小说App
SwiftUI 高仿书旗小说App
SwiftUI 高仿书旗小说App
SwiftUI 高仿书旗小说App
SwiftUI 高仿书旗小说App
SwiftUI 高仿书旗小说App
SwiftUI 高仿书旗小说App
SwiftUI 高仿书旗小说App
SwiftUI 高仿书旗小说App
SwiftUI 高仿书旗小说App
SwiftUI 高仿书旗小说App

运行 🍭

$ git clone https://github.com/huanxsd/swiftui-shuqi-reader.git
$ cd swiftui-shuqi-reader
$ pod install