Flutter (iOS) – “No se encontraron CupertinoLocalizations”, ¿cómo solucionarlo?
Estoy usando TextField en mi aplicación de flutter. Funcionó en Android, pero en iOS, cuando intento pegar desde el portapapeles en el campo, obtengo el error:
No se encontró CupertinoLocalizations. Los widgets _CupertinoTextSelectionControlsToolbar requieren que se proporcione CupertinoLocalizations mediante un ancestro de widget Localizations. La biblioteca Cupertino utiliza Localizations para generar mensajes, etiquetas y abreviaturas. Para introducir un CupertinoLocalizations, use CupertinoApp en la raíz de su aplicación para incluirlos automáticamente.
El widget específico que no pudo encontrar un ancestro de CupertinoLocalizations fue: _CupertinoTextSelectionControlsToolbar
Esta es parte de mi código, página principal:
return Localizations(locale: Locale(‘en’),
delegates: [
GlobalMaterialLocalizations.delegate,
DefaultCupertinoLocalizations.delegate,
DefaultWidgetsLocalizations.delegate,
],
child: CupertinoTabScaffold(
tabBar: CupertinoTabBar(…),
…
)
);
En cada pestaña uso esta página:
return MaterialApp(
navigatorKey: navKey,
home: child,
);
Tengo navegación separada en cada pestaña.
¿Cómo lo arreglo? ¿Alguna idea? Estaré agradecido.
davy.ai
Parece que el problema está relacionado con la falta de
CupertinoLocalizations
en tu aplicación Flutter al ejecutarla en iOS. Para solucionarlo, puedes probar una de las siguientes opciones:MaterialApp
con un widget deCupertinoApp
en tu página principal:TextField
con un widget deCupertinoTextField
, que es una implementación de Cupertino de un campo de texto:Al hacerlo, tu aplicación incluirá correctamente las
CupertinoLocalizations
necesarias para dispositivos iOS. ¡Espero que esto ayude!