ViewPreference - custom type.
PreferenceKey - built-in type.
Anchor Preferences
What are View Preferencesโ
Itโs a way to send configuration data up the view hierarchy.
ๅ๏ผๅฆไฝไฝฟ็จ view preferenceโ
่จญ่จไธๅ้ตๅพช PreferenceKey ๅๅฎ็้กๅฅใ
ไฝฟ็จ childview.preference(key:value:) ไพ่จญๅฎ่ฆๅพไธๅณ็่ณๆใ
ไฝฟ็จ parentview.onPreferenceChange(_:perform:) ่ฎไธๅฑคๆฑบๅฎๅฆไฝๅๆใ(้ๅธธๆๅจ perform ้ๅ closure parameter ่ฃก้ขๆน่ฎ view state๏ผ่ๆญค่ฎ view ๆๆดๆฐๆ้ๆฐ layout ็ๆฉๆ)
parentview ไนๅฏไปฅไฝฟ็จ .backgroundPreferenceValue() ๆ .overlayPreferenceValue() ไพๅขๅ ไธๅ background ๆ overlayใ
.readSize() - read a view's size.
Mark van Wijnen โฉ Introducing View Preferences in SwiftUI
Arda C. Tugay โฉ Diving Deep into SwiftUI โฉ
Part 2: Using view preferences in SwiftUI
Part 3: Using anchor preferences in SwiftUI
SwiftOnTap โฉ PreferenceKey
SwiftUI โฉ
State & Data Flow โฉ PreferenceKey
.reduce()
Views & Controls โฉ View โฉ State โฉ
.preference()
.transformPreference()
.onPreferenceChange()
.backgroundPreferenceValue()
.overlayPreferenceValue()
view layout โฉ Adaptive Layout
Get width of a view using in SwiftUI
Last updated 3 years ago
Was this helpful?