SwiftUI之如何创建常量绑定与自定义绑定
生活随笔
收集整理的這篇文章主要介紹了
SwiftUI之如何创建常量绑定与自定义绑定
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、如何創建常量綁定?
- 當正在制作一些 UI 原型時,或者當只需要傳入一個值來讓 SwiftUI 預覽顯示一些有意義的東西時,可以會發現使用常量綁定很有幫助:硬編碼的值不會改變,但可以仍然像常規綁定一樣使用,因此我們的代碼可以正常工作。
- 例如,如果想創建一個切換開關,通常必須創建一個@State 屬性來存儲布爾值,然后在創建它時將其發送到切換開關中;但是,如果只是為用戶界面設計原型,則可以改用常量綁定,如下所示:
- 效果如下:
- 該開關是只讀的并且始終處于開啟狀態,因為這就是我們的常量綁定所說的,但現在足以讓您動起來,可以稍后返回并用完整的 @State 屬性替換它。這些常量綁定有各種類型:布爾值、字符串、整數等都可用,Swift 將確保為每種視圖類型使用正確的綁定。
二、如何創建自定義綁定?
- 當使用 SwiftUI 的 @State 屬性包裝器時,它為我們做了大量的工作來允許用戶界面控件的雙向綁定。 但是,我們也可以使用 Binding 類型手動創建綁定,它可以提供自定義的 get 和 set 閉包,以便在讀取或寫入值時運行。
- 例如,創建一個簡單的綁定,它只是作為另一個屬性的傳遞:
- 當綁定到自定義 Binding 實例時,不需要在綁定名稱前使用 $ 符號,因為已經閱讀了雙向綁定。
- 當想為正在讀取或寫入的綁定添加額外的邏輯時,自定義綁定非常有用,我們可能希望在將值發回之前執行一些計算,或者可能希望在值更改時采取一些額外的操作。例如,可以創建一個由兩個切換開關組成的堆棧,其中兩個開關都可以關閉,一個可以打開,但不能同時打開,啟用一個將始終禁用另一個,如下所示:
總結
以上是生活随笔為你收集整理的SwiftUI之如何创建常量绑定与自定义绑定的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SwiftUI之如何使用@Environ
- 下一篇: SwiftUI之深入解析如何创建和组合视