iOS SwiftUI-4 PreferenceKey使用


Posted by John on 2021-01-15

  1. 建立流程
  2. 存入PreferenceKey Value
  3. 監聽PreferenceKey變化

PreferenceKey可以當成一個key與一個value的存取,然後去監聽他,通常可以運用在示圖的變化

  1. 建立流程
    a. 先輸輸入下圖方式,再按修復

    b. 修復後如下圖

    c. typealias Value輸入要監聽的資料,輸入後打defaultValue就可以直接選到對應的func

    d. reduce裡面的value是當前,nextValue func是變更後的資料,本範例只需要存入即可

  2. 存入PreferenceKey Value
    a. 此存入子View的大小,如下圖,將value存入PreferenceKey

    b. 引用方式,這樣Text只要建立後,就會將值存入PreferenceKey

     Text("1234567890abcdefg")
         .background(ListenerView())
    
  3. 監聽PreferenceKey變化
    ```

struct MainView: View {
@State var size: CGSize = .zero
var body: some View {
Text("1234567890abcdefg")
.background(ListenerView())
.onPreferenceChange(ViewSizeKey.self) {
//當PreferenceKey有值存入時,此處就會觸發,$0就是變更的資料
size = $0
}
}
```


##Swift ##SwiftUI #軟體設計 #電腦程式 #XCode







Related Posts

Python Table Manners - pre-commit: git commit 前做完檢查

Python Table Manners - pre-commit: git commit 前做完檢查

[ JavaScript 02 ] 變數

[ JavaScript 02 ] 變數

CSS保健室|border、outline

CSS保健室|border、outline


Comments