๐ ฟ๏ธPreferenceKey
็ฏไพ
// ๐ฆ MaxValue<T: FloatingPoint>
public struct MaxValue<T: FloatingPoint>: PreferenceKey {
// value type
public typealias Value = T?
// default value (nil == not set)
public static var defaultValue: Value { nil }
// โญ๏ธ choose max value
public static func reduce(value: inout Value, nextValue: () -> Value) {
// โญ๏ธ [T?] --(compactMap)--> [T] --(max)--> T?
value = [value, nextValue()].compactMap{ $0 }.max()
}
}
็จๆณ
่จญ K ็บ้ตๅพช PreferenceKey ็็ๅฏฆๅๅฅ (concrete type)๏ผๅไฝฟ็จ้ๅ PreferenceKey ๆ๏ผ้ๅธธๅฟ ้ ๅ ทๅไปฅไธใไธๅคง่ฆ็ด ใ๏ผ
ๆไบ้ไบ่ฆ็ด ๅพ๏ผ้่ฆไพ็ งๅบๅฎ็ๆจกๅผ๏ผๆ่ฝ้ ๅฉๅฎๆไฝๅฑ๏ผไธป่ฆๆฏไปฅไธ็ใไธๆญฅ้ฉใ๏ผ
ๆดๅๆต็จๅฏไปฅ็ฐกๅ็บ๏ผ
๐ ๆฏ่ผ๏ผAnchor Preferences
โญ๏ธ ๅๅๅๅ
PreferenceKey ็ๅๅญๆๅฅฝๆฏ่ทๆฏ่ฆไปถ็ @State ่ฎๆธไธ่ด๏ผไพๅฆ๏ผ ๅฆๆๆๅ่ฆๆพ็ๆฏๆๅๅญ่ฆไปถๅ ฉ้้ทไธญ็ๆๅคง้๏ผ้ๆๅฏไปฅ๏ผ
ๅฐๆฏ่ฆไปถ็ @State ่ฎๆธๅๅ็บ๏ผ
maxSide
่ PreferenceKey ๅฐฑๅๅ็บ:
MaxSide
๐ ๅ่ฆ๏ผ
๐ CircleText
๐ ่ช่ฃฝๅๅฅ๏ผ๐ฆ PreferenceKeys
Last updated
Was this helpful?