Share via


Entrada de texto en Xamarin.iOS

La aceptación de la entrada de texto del usuario se realiza con UITextField, en el caso de las entradas de una sola línea, y UITextView en el caso de texto editable de varias líneas. Puede arrastrar cualquiera de estos controles a una pantalla y hacer doble clic para establecer el texto inicial.

Las capturas de pantalla siguientes muestran los iconos de estos controles, ubicados en Panel del cuadro de herramientas en Visual Studio para Mac:

UITextField

UITextView

Una vez que haya asignado un nombre a la salida y guardado el archivo Storyboard, Visual Studio para Mac actualizará la clase parcial .designer.cs y podrá agregar código de C# que haga referencia al control al archivo de clase. Cada control tiene sus propias propiedades y eventos únicos a los que se puede acceder en el código de C#.

UITextField

El control UITextField se usa con más frecuencia para aceptar una sola línea de entrada de texto, como un nombre de usuario o una contraseña. A continuación se muestran algunas de las opciones disponibles para personalizar el control:

Propiedades UITextField

Estos controles se explican a continuación:

  • Marcador de posición: es opcional. Si se establece, se muestra cuando el campo de texto está vacío, normalmente para explicar al usuario qué entrada se espera.
  • Botón Borrar: controla cuándo el botón de borrado estándar (el círculo gris con la (X)) aparece en el campo de texto, como una manera de que el usuario borre texto rápidamente. Puede ocultarse permanentemente, ser visible permanentemente o mostrarse, dependiendo de si el campo se está editando o no.
  • Tamaño mínimo de fuente y Ajustar a ajuste: permite ajustar el tamaño de fuente automáticamente para ajustarse al texto más largo y evitar el truncamiento, pero está limitado para no ser menor que el tamaño especificado.
  • Mayúsculas: indica si se deben escribir en mayúsculas las palabras, oraciones o todas las entradas automáticamente.
  • Corrección: indica si la revisión ortográfica y las sugerencias están habilitadas.
  • Teclado: controla el estilo de teclado que se muestra para la entrada y, por tanto, qué teclas están disponibles en el teclado. Esto incluye el Panel de números, el Panel de teléfono, el correo electrónico y la dirección URL entre otras opciones.
  • Apariencia: controla el estilo de apariencia del teclado que puede ser oscuro o claro.
  • Tecla Entrar: cambie la etiqueta de la tecla Entrar para que refleje mejor qué acción realizará. Los valores admitidos incluyen Ir, Unirse, Siguiente, Redirigir, Listo y Búsqueda.
  • Seguro: identifica si la entrada está enmascarada (por ejemplo, para una entrada de contraseña).

Si se ha agregado un UITextField llamado textfield1 a una pantalla con el diseñador, puede establecer o cambiar sus propiedades en C# de la siguiente manera:

textfield1.Placeholder = "type email here...";
textfield1.KeyboardType = UIKeyboardType.EmailAddress;
textfield1.ReturnKeyType = UIReturnKeyType.Send;
textfield1.MinimumFontSize = 17f;
textfield1.AdjustsFontSizeToFitWidth = true;

Xamarin.iOS proporciona enumeraciones cuando corresponda para facilitar la selección de la configuración que desee, como UIKeyboardType y UIReturnKeyType en el fragmento de código anterior.

Mostrar texto mediante programación

Si no desea diseñar la pantalla con el diseñador o si desea agregar dinámicamente texto en tiempo de ejecución, puede crear y mostrar un UITextField mediante programación en el método ViewDidLoad de un controlador de vista como este:

var frame = new CGRect(10, 10, 300, 40);
textfield1 = new UITextField(frame);
View.Add(textfield1);

UITextView

El control UITextView se puede usar para mostrar texto de solo lectura o para aceptar entradas de texto de varias líneas. Tiene muchas de las mismas opciones que UITextField (como capitalización, corrección, etc.).

Propiedades UITextView

Entre las propiedades específicas se incluyen:

  • Comportamiento: indica si el texto es editable o de solo lectura.
  • Detección: detecta y convierte los datos introducidos en elementos que sobre los que se puede hacer clic, como números de teléfono que pueden desencadenar una llamada, direcciones que se convierten en vínculos a Maps, direcciones URL que se abren en Safari o fechas y horas que se convierten en eventos en Calendar.

Si se ha agregado un UITextView a una pantalla con el diseñador, puede establecer o cambiar sus propiedades de la siguiente manera:

textview1.Text = "Lorem ipsum..."; // lots of text can go here
textview1.Editable = true;
textview1.DataDetectorTypes = UIDataDetectorType.PhoneNumber | UIDataDetectorType.Link;