viernes, 28 de agosto de 2015

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

Continuamos a partir del anterior artículo, el cual podréis ver pulsando aquí. Lo primero que vamos a hacer es crear un botón. Este botón posteriormente será de Login, pero como todavía no podemos hacer login a ningún sitio, lo utilizaremos para hacer comprobaciones en los UITextField.

loginButton = [[UIButton alloc] initWithFrame:CGRectMake(0., 0., 100., 30.)];
    [loginButton setCenter:CGPointMake(self.view.center.x, passWordTextField.center.y + passWordTextField.frame.size.height + loginButton.frame.size.height)];
    [loginButton setTitle:NSLocalizedString(@"Check", nil) forState:UIControlStateNormal];
    [loginButton setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
    [loginButton addTarget:self action:@selector(checkAction) forControlEvents:UIControlEventTouchUpInside];
    

    [self.view addSubview:loginButton];

Posteriormente declaramos el método checkAction y el método checkFields que devolverá un booleano analizando los diferentes UITextField creados.

- (void)checkAction
{
    if([self checkFields])
        NSLog(@"Todo OK");
}

- (BOOL)checkFields
{
    if(nameTextField.text.length == 0)
    {
        [self presentAlertViewWithMessage:NSLocalizedString(@"El campo nombre no puede estar vacío.", nil)];
        return false;
    }
    if(nameTextField.text.length > 20)
    {
        [self presentAlertViewWithMessage:NSLocalizedString(@"El campo nombre no puede superar los 20 caracteres.", nil)];
        return false;
    }
    if(passWordTextField.text.length == 0)
    {
        [self presentAlertViewWithMessage:NSLocalizedString(@"El campo password no puede estar vacío.", nil)];
        return false;
    }
    if(passWordTextField.text.length > 6)
    {
        [self presentAlertViewWithMessage:NSLocalizedString(@"El campo password no puede superar los 6 caracteres.", nil)];
        return false;
    }
    if(mailTextField.text.length == 0)
    {
        [self presentAlertViewWithMessage:NSLocalizedString(@"El campo email no puede estar vacío.", nil)];
        return false;
    }
    if(mailTextField.text.length > 50)
    {
        [self presentAlertViewWithMessage:NSLocalizedString(@"El campo email no puede superar los 50 caracteres.", nil)];
        return false;
    }
    
    return true;

}

Si compilamos y ejecutamos la App podemos comprobar como nos muestra las alertas si no cumplimos alguna de las condiciones. Pero, si yo quiero prohibir al usuario, que por ejemplo no añada más de 20 caracteres en su UITextField haremos los siguiente.


Tendremos que modificar el siguiente método del delegado de UITextField

//Método que se llama cuando se introducae algún valor por teclado
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSUInteger newLength;
    
    newLength = [textField.text length] + [string length] - range.length;
    
    if([textField isEqual:nameTextField])
        return (newLength > 20) ? NO : YES;
    if([textField isEqual:mailTextField])
        return (newLength > 50) ? NO : YES;
    if([textField isEqual:passWordTextField])
        return (newLength > 6) ? NO : YES;

    return YES;
}

Si ahora compilamos y ejecutamos la App. Podemos comprobar como si intentamos introducir más caracteres de los indicados en el método, el UITextField no nos permite añadirlos.


Os dejo el código en el siguiente path de GitHub





  

miércoles, 19 de agosto de 2015

Image2icon la App para convertir imágenes en icono

Utilizo esta App desde que adquirí mi primer Macbook por el año ... Image2icon al principio sólo tenía una función, convertir las imágenes para poder sustituirlas por las carpetas azules de nuestro OSX. Y cuando algo funciona y es sencillo para qué cambiar.


Pero hace unos meses y para mi sorpresa me di cuenta de que esta App se había actualizado y venía con nuevas funcionalidades. Y he decir tras un primer vistazo, que muchas, pese a que hay que pagar por ellas, valen lo que cuestan.

Tras abrir la App vemos la imagen que tenemos a continuación. Basta con arrastrar una imagen a su interior y vemos las diferentes funciones que nos ofrece la App. Tanto de diseño de la imagen como los diferentes formatos y máscaras. Ahora sólo tenemos que exportar o arrastrar la carpeta que queramos modificar al interior y Image2icon se encargará de todo.




Aquí os dejo el link de la App 
https://itunes.apple.com/es/app/image2icon-crea-tus-propios/id992115977?mt=12