viernes, 26 de junio de 2015

Crear un formulario en iOS nivel PRO con UITextField. Parte II.

Continuamos a partir del anterior artículo, el cual podréis ver pulsando aquí. Lo primero que haremos será crear dos nuevos UITextFields para introducir una contraseña y un email.

@property (nonatomic, strong) UITextField *passWordTextField;
@property (nonatomic, strong) UITextField *mailTextField;

Les añadiremos nuevas características como la introducción de datos en modo oculto para la contraseña y un botón de borrado.

    [mailTextField setDelegate:self];
    [mailTextField setPlaceholder:@"Email"];
    [mailTextField setKeyboardType:UIKeyboardTypeEmailAddress];
    [mailTextField setReturnKeyType:UIReturnKeyDone];
    [mailTextField setBorderStyle:UITextBorderStyleLine];
    [mailTextField setClearButtonMode:UITextFieldViewModeAlways];
    
    [self.view addSubview:mailTextField];
    
    [passWordTextField setDelegate:self];
    [passWordTextField setPlaceholder:@"Contraseña"];
    [passWordTextField setKeyboardType:UIKeyboardTypeEmailAddress];
    [passWordTextField setReturnKeyType:UIReturnKeyDone];
    [passWordTextField setBorderStyle:UITextBorderStyleBezel];
    [passWordTextField setSecureTextEntry:YES];
    [passWordTextField setClearButtonMode:UITextFieldViewModeWhileEditing];
    

    [self.view addSubview:passWordTextField];




A continuación editaremos algunos elementos gráficos del UITexField. Por defecto tiene cuatro tipos de borde, aunque en próximos artículos explicaré como aumentar estas posibilidades a infinito. También le indicaremos el botón de retorno y el tipo de aspecto que queremos que tenga el teclado.
Tras ejecutar el código y comprobar los métodos del delegado del UITextField la primera duda que nos surgirá será cómo diferenciar los diferentes UITextField.


- (BOOL)textFieldShouldClear:(UITextField *)textField
{
    if([textField isEqual:mailTextField])
        [mailTextField setText:@""];
        
    else if(textField == passWordTextField)
        passWordTextField.text = @"";
    return NO;

}



Las dos fórmulas utilizadas en el código anterior son correctas. Si lo que queremos es que al pulsar el botón de borrado siempre se borre el texto del UITextField seleccionado bastará con devolver un TRUE.

Como ya comenté en el anterior artículo, iré subiendo el código al siguiente enlace de GitHub
https://github.com/ManuelManzanera/FormularioViewController

miércoles, 24 de junio de 2015

Crear un formulario en iOS nivel PRO con UITextField. Parte I.

En este artículo voy a explicar como crear un formulario para introducir diferentes tipos de datos. El componente principal de cualquier formulario de entrada de datos en iOS será el UITextField. Y que mejor manera de explicarlo que a través de un ejemplo que subiré a GitHub. Lo primero que haremos será crear el UITextField, inicializarlo e indicarle a nuestro view controller que será el delegado del UITextField.

nameTextField = [[UITextField alloc] initWithFrame:CGRectMake(10.,30., 300., 30.)];
[nameTextField setDelegate:self];

A continuación editaremos algunos elementos gráficos del UITexField. Por defecto tiene cuatro tipos de borde, aunque en próximos artículos explicaré como aumentar estas posibilidades a infinito. También le indicaremos el botón de retorno y el tipo de aspecto que queremos que tenga el teclado.

[nameTextField setBorderStyle:UITextBorderStyleNone];
[nameTextField setReturnKeyType:UIReturnKeyDone];
[nameTextField setKeyboardAppearance:UIKeyboardAppearanceDark];


 



También le indicamos un valor por defecto para indicar qué queremos que se introduzca en el UITextField. Este valor no indica que el UITextField tenga texto por defecto. De hecho, si hiciéramos un log con el valor de texto o el tamaño de la cadena del texto, no nos devolvería nada o nos devolvería cero.

[nameTextField setPlaceholder:@"Nombre de usuario"];

Para poder analizarlos métodos del delegado e ir siguiendo las mejoras del código lo iré subiendo todo al siguiente repositorio de GitHub

https://github.com/ManuelManzanera/FormularioViewController

miércoles, 10 de junio de 2015

¿Cómo hacer una captura de pantalla de nuestro dispositivo iOS con Xcode?

Lo primero que os preguntaréis algunos es para qué puedo necesitar hacer una captura de la pantalla de mi dispositivo iOS con Xcode desde el MAC. Si pensáis en desarrollar una App, una de las condiciones indispensables para subirla al AppStore, es ofrecer imágenes de la App. Es cierto que si contáis con buenos diseñadores probablemente ellos os las prepararán desde su mockup. Pero si este no es el caso, una buena opción es mostrar las capturas de pantalla de la App. También sirve de gran utilidad para mostrarle a un cliente cómo queda algún recurso, etc. Las podréis utilizar para crear documentación o para cualquier cosa que se os ocurra.

- Lo primero que debéis hacer es abrir Xcode con un dispositivo iOS conectado y pulsad sobre Windows>Devices. Os deberá aparecer una ventana como la que muestro a continuación.



- Posteriormente solo tendréis que pulsar sobre el botón "Take screenshot" para que os aparezca la captura de la pantalla del dispositivo en vuestro escritorio.





jueves, 4 de junio de 2015

¿Cómo grabar un CD de datos en MAC?

El artículo de hoy no está relacionado con iOS pero sí con MacOS. Mucha gente me pregunta qué es necesario para poder grabar un CD-DVD con archivos en un Mac. La primera respuesta aunque parezca una obviedad es tener una unidad de disco, ya que los MacBook Air no la tienen. Si tu Mac tiene unidad de disco tan sólo tienes que seguir estos sencillos pasos.

1. Introduce el CD-DVD en la unidad de disco. No te asustes si suena como una nave espacial. Para mí, lo que menos me gusta de los Mac es el sonido al introducir o sacar un disco en la unidad de discos.

2. Seleccionas el Finder->Archivo->Nueva Carpeta de Grabación.

3. Copias en la carpeta de grabación (es reconocible por su icono de "Peligro Radioactividad") los archivos que quieras grabar.




4. Por último pulsas el botón de grabar arriba a la derecha.


Y ya está. Así de sencillo es grabar un CD-DVD con archivos en un MAC sin necesidad de descargar ningún software.