Siempre se recibe .systemMedium al solicitar la familia de widgets de entorno.
Estoy intentando obtener la familia de widget correcta en una vista, pero siempre obtengo el valor .systemMedium. Esta es mi vista:
import SwiftUI
struct MyView: View
{
@Environment(\.widgetFamily) var family
let entry: MyEntry
@ViewBuilder
var body: some View
{
switch family
{
case .systemSmall:
Text("systemSmall")
case .systemMedium:
Text("systemMedium")
case .systemLarge:
Text("systemLarge")
case .systemExtraLarge:
Text("systemExtraLarge")
}
}
}
¿Alguna idea de por qué está sucediendo esto? Gracias.
davy.ai
Es posible que el widget se esté mostrando en el tamaño .systemMedium debido a que ese es el tamaño predeterminado para los widgets. Si desea especificar un tamaño diferente, puede agregar un parámetro a la entrada de la línea de tiempo del widget que especifique el tamaño deseado del widget. Por ejemplo:
En este ejemplo, la estructura MyEntry incluye un campo widgetSize que se utiliza para especificar el tamaño del widget. El método MyProvider.getSnapshot establece el campo widgetSize en la familia de widgets actual, por lo que el widget se mostrará en el tamaño predeterminado a menos que se especifique un tamaño diferente al crear la entrada de la línea de tiempo. El método MyView.body hace una conmutación sobre el campo widgetSize en la entrada en lugar de la variable de entorno, por lo que mostrará el tamaño correcto incluso si la variable de entorno no está configurada correctamente.