iOSのWidgetでサイズごとに文字サイズなどを変えるためのメモ。
実装
View内でWidgetFamilyの値を取得
@Environment(\.widgetFamily) var widgetFamily
WidgetFamilyごとにFontサイズを変える
var font: Font {
switch self.widgetFamily {
case .systemSmall: return .system(size: 10)
case .systemMedium: return .system(size: 20)
case .systemLarge: return .system(size: 30)
@unknown default: return .system(size: 10)
}
}
var body: some View {
Text(entry.date, style: .time)
.font(self.font)
}
結果

WidgetFamilyごとに文字サイズを変えることができました。