項目源碼:Github
簡述
這個項目所有的UI都是使用SwiftUI寫的蕾羊。
我試著讓這個Demo的結構盡量接近實際項目,同時使用比較簡單方式去實現(xiàn)功能闸度。這樣可以讓剛接觸SwiftUI的人更夠容易理解代碼。
在此之前,我曾經在學習Flutter的時候也做了同樣的練手項目寨蹋,各位有興趣可以關注: flutter_shuqi
我這幾年嘗試過幾種不同的UI開發(fā)框架,包括:CocoaTouch扔茅、ReactNative已旧、Flutter、SwiftUI咖摹。也寫過React评姨、Vue、小程序和快應用。個人覺得SwiftUI開發(fā)起來最順滑吐句,UI的代碼量最少胁后,觀賞性最高。SwiftUI的API的使用難度上略高于Flutter嗦枢,但是熟練后攀芯,開發(fā)效率比Flutter高。它高度貫徹了函數(shù)式編程(functional programming)的理念文虏,所以整個開發(fā)體驗還是非常不錯的侣诺。
公司的項目準備不再支持iOS12了,所以利用空余時間學習了SwiftUI氧秘,并以書旗App作為練手年鸳,做了這個開源項目。
環(huán)境
- 設備類型:iPhone / iPad
- 系統(tǒng)版本:iOS 14.0
- Swift版本:Swift 5
功能 ?
- 原生功能:
- 設備方向:支持橫/豎屏
- 夜間模式:支持
- 主頁面
- 處理UINavigationControllerDelegate
- 書城頁
- page樣式的tab view
- 自定義卡片
- 自定義毛玻璃效果的控件
- 書架頁
- 自定義NavigationBar(根據(jù)ScrollView的offset控制顯示/隱藏)
- 個人頁
- 書籍詳情頁
- 實現(xiàn)常規(guī)動畫
- 彈出全屏覆蓋頁面
- 閱讀頁
- 菜單的出現(xiàn)/消失動畫
截圖 ??
豎屏
橫屏
運行 ??
$ git clone https://github.com/huanxsd/swiftui-shuqi-reader.git
$ cd swiftui-shuqi-reader
$ pod install