viernes, 30 de diciembre de 2011

Obtener una subcadena de un objeto String

NSString *str = @"Hola Mundo";
NSString *newStr = [str substringWithRange:NSMakeRange(0,4)];
newStr sería igual a "Hola".

miércoles, 28 de diciembre de 2011

Evitar que el teclado quede sobre los textfields

Uno de los problemas más comunes cuando programamos para iphone es que el teclado puede ocultar los textfields. La solución más rápida es correr los textfields de manera que no queden ocultos pero en mi aplicación yo tenía varios textfields y no me quedaba lugar para correrlos.

Encontré este tutorial http://joshhighland.com/blog/2010/04/20/iphone-keyboard-covers-text-field/ que me pareció que es el que tiene el código más simple y me funciono perfecto.
 
La idea es la siguiente, realizar dos IBAction en este caso slideFrameUp y slideFrameDown que seran llamados por los textfields cuando ocurran los enventos Editing Did Begin y Editing Did End respectivamente (como se muestra en la figura).


El código de los IBAction y del método que llaman los mismos es el siguiente:

-(IBAction) slideFrameUp;
{
    [self slideFrame:YES];
}
 
-(IBAction) slideFrameDown;
{
    [self slideFrame:NO];
}
 
-(void) slideFrame:(BOOL) up
{
    const int movementDistance = 50; // lo que sea necesario, en mi caso yo use 80
    const float movementDuration = 0.3f; // lo que sea necesario
 
    int movement = (up ? -movementDistance : movementDistance);
 
    [UIView beginAnimations: @"anim" context: nil];
    [UIView setAnimationBeginsFromCurrentState: YES];
    [UIView setAnimationDuration: movementDuration];
    self.view.frame = CGRectOffset(self.view.frame, 0, movement);
    [UIView commitAnimations];
}

miércoles, 14 de diciembre de 2011

Mostrar una imagen desde una url



NSData * imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: @"http://myurl/mypic.jpg"]];
cell.image = [UIImage imageWithData: imageData];
[imageData release];


lunes, 5 de diciembre de 2011

¿Cómo convierto un int a un NSString?


Una de las formas es mediante un método de NSString
[NSString stringWithFormat:@”%i” , elentero]

¿Y de NSString a float o a int?
La clase NSString tiene métodos para esto uno es floatValue y el otro intValue.
 NSString *aNumberString = @"35";
 int i = [aNumberString intValue];

Imágenes con bordes redondeados

Cada objeto basado en una vista tiene asociado una capa y cada capa tiene un corner al que se le puede setear su radio. Por lo tanto lo que podemos hacer es lo siguiente: No hay que olvidar que debemos importar el siguiente framework
imageView.layer.cornerRadius = 5.0;
imageView.layer.masksToBounds = YES;

//para agregar un borde:

imageView.layer.borderColor = [UIColor lightGrayColor].CGColor;
imageView.layer.borderWidth = 1.0;