SwiftUI 初學(xué)者最有用的一個(gè)第三方庫

1.png

SwiftUI 作為蘋果未來主要的一個(gè) UI 框架,隨著最近幾季 WWDC 的召開已經(jīng)都相對(duì)完善,正常的開發(fā)應(yīng)用基本已經(jīng)能滿足,但是在一些更細(xì)的需求里可能暫時(shí)還沒辦法滿足,比如 ScrollView 滑動(dòng)到某個(gè)位置,TextField 修改背景顏色等,這些暫時(shí)沒辦法在 SwiftUI 里很好的做到,所以我們可以使用 SwiftUI-Introspect 這個(gè)庫解決這些問題。

1. 一些可以使用的 View

  • NavigationView (StackNavigationViewStyle)
  • NavigationView (DoubleColumnNavigationViewStyle)
  • ScrollView
  • List
  • TabView
  • TextField
  • Toggle
  • Slider
  • Stepper
  • DatePicker
  • Picker (SegmentedPickerStyle)
  • Button
  • ColorPicker
  • TextEditor

2. 一些使用示例

List

List {
    Text("Item 1")
    Text("Item 2")
}
.introspectTableView { tableView in
    tableView.separatorStyle = .none
}
.introspectTableViewCell { cell in
    let backgroundView = UIView()
    backgroundView.backgroundColor = .clear
    cell.selectedBackgroundView = backgroundView
}

ScrollView

ScrollView {
    Text("Item 2")
}
.introspectScrollView { scrollView in
    scrollView.refreshControl = UIRefreshControl()
}

NavigationView

NavigationView {
    Text("Item 2")
    .introspectNavigationController { navigationController in
        navigationController.navigationBar.backgroundColor = .red
    }
}

3. 注意事項(xiàng)

使用的時(shí)候可能會(huì)引起一些問題,需要注意。比如在應(yīng)用 SwiftUI For Beginners 里的搜索,開始我們想頁面沒滑動(dòng)的時(shí)候是一個(gè)輸入框,向上滑動(dòng)之后在導(dǎo)航欄顯示,所以我們使用到了 SwiftUI-Introspect 來監(jiān)控 ScrollView 的滑動(dòng)距離,開始我們直接設(shè)置一個(gè)變量并把 offset 賦值給這個(gè)變量,然后在導(dǎo)航欄里判斷這個(gè)變量到某個(gè)值顯示搜索按鈕,因?yàn)槊看味几逻@個(gè)變量,導(dǎo)致在 iOS 14 的某些機(jī)型上存在性能問題,最后的解決辦法是判斷 offset 只在到某個(gè)值的時(shí)候賦值一次。

所以大家在使用的時(shí)候也要多思考相關(guān)內(nèi)容。

關(guān)于應(yīng)用:

更多內(nèi)容可以查看應(yīng)用 SwiftUI For Beginners,一個(gè)產(chǎn)品設(shè)計(jì)師從自學(xué)的 SwiftUI 開發(fā)的各個(gè)過程給你講解 SwiftUI 內(nèi)容,Apple 應(yīng)用商店搜索 SwiftUI For Beginners 下載。

SwiftUI.jpg

  • 適合設(shè)計(jì)師人群,互聯(lián)網(wǎng)從業(yè)者或者想自己做個(gè)應(yīng)用的人群;
  • 不適合技術(shù)人群,應(yīng)用完全是從一個(gè) 0 基礎(chǔ)的角度去講解各個(gè)階段需要的知識(shí),對(duì)于技術(shù)人群過于簡(jiǎn)單;
  • 內(nèi)容講解?直接代碼效果預(yù)覽,學(xué)習(xí)過程更加直觀;
  • iPhone, iPad 和 Mac 全平臺(tái)支持,Apple Watch 和 TV 應(yīng)用即將上線。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容