天天看點

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