Mi estancia en Valencia con Workether

Deja un comentario

Como seguramente sabréis los que me seguís en Twitter, hace cosa de dos semanas vine a Valencia. ¿Por qué? Bueno, los chicos de Workether me ofrecieron venir con ellos un mes como iOS Developer, para aprender y colaborar en varios proyectos. Obviamente, acepté. Para quien no conozca Workether, es una empresa de coworking, especializada en desarrollo web, con unas instalaciones muy chulas.

El motivo de escribir esta entrada es para informar de que a partir del Lunes 13 de agosto, escribiré una entrada diaria sobre lo que he hecho ese día, de qué va la aplicación que estoy haciendo, los problemas que he tenido durante el desarrollo, cómo los he resuelto, y cosas por el estilo. También escribiré sobre las cosas que vaya haciendo con Arduino, ya que mi gran amigo Ocio (@ocio46) ha tenido el detalle de regalarme el suyo.

¡Un saludo

¡Feliz Navidad!

Deja un comentario

Hacía mucho que no escribía por aquí, ya que tengo varios proyectos muy interesantes entre manos. No quería empezar el año sin antes decirle a mis lectores: ¡Feliz Navidad y felices fiestas!

Este 2011 ha sido un año muy muy completo para mí, y espero que este 2012 lo sea aún más.

Este año (más concretamente este verano) me metí en el mundo de la programación iOS. Y ahí sigo. De momento sólo tengo una app un tanto “chorra” en el App Store, iMentiras, pero ya tengo varios proyectos muy interesantes entre manos.

Además, me ha surgido un proyecto muy interesante llamado FlayBack con dos grandes amigos de Twitter: @susgl, un crack en la informática y programación y @mrmangado, un máquina con el que podré quedar varias veces al año y que me echará una mano con la aplicación iOS de FlayBack. Por el momento no podemos decir nada del proyecto, únicamente: Stay tuned 😀

Debido a este proyecto, estoy aprendiendo programación web. En concreto, ya sé defenderme con HTML y CSS, y a día de hoy ya estoy aprendiendo JavaScript y uso de servidores en iOS.

Cuando el servicio esté disponible ya avisaré tanto por Twitter como por aquí, y estaréis todos invitados a probarlo.

Un saludo y felices fiestas!

Cómo usar un PickerView

Deja un comentario

Como habéis podido observar, en iMentiras hay un PickerView para seleccionar el sonido que queremos escuchar. Pero a parte de reproducir sonidos, un PickerView sirve para otras muchas cosas como abrir vistas, cambiar valores de labels…

Para empezar a usarlo, necesitamos declarar un UIPickerView y un NSMutableArray, con sus respectivos @property y @synthesize. Una vez hecho, vamos a nuestro StoryBoard y arrastramos a nuestra vista un PickerView. Una vez hecho enlazamos el outlet de nuestra vista con el UIPickerView, pero también enlazamos con este el dataSource y el delegate.

A continuación, nos vamos al .m y metemos las siguientes funciones:

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;
{
 return 1;
}

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
   if (row==0){

   } if (row==1){

   } if (row==2){

   }
}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
{
 return [array count];
}

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;
{
 return [array objectAtIndex:row];
}

Donde vemos el if anidado con (row==0), (row==1)… tenemos que meter las acciones que le vamos a asignar a cada fila. Si queremos más filas, necesitaremos ampliar con (row==3), (row==4)… A continuación, necesitamos cargar los datos en el NSMutableArray para usarlos como nombre de fila en el PickerView.

-(void)viewDidLoad {
[super viewDidLoad];
array=[[NSMutableArray alloc] initWithObjects: @"Botella y la homosexualidad", @"Aznar y el régimen iraquí", @"Aznar y la DGT", @"Aznar hablando inglés", @"Josep Lluis y el catalán", nil];
}

Para ponerle los nombres que queramos, sólo debemos modificar los datos del array. Una vez terminado, le damos a Build & Run y veremos el PickerView en el simulador con los nombres que hemos cargado en el array.

Presentamos iMentiras

3 comentarios

Hola a todos. Después de estar más de dos meses sin escribir por aquí, el pasado miércoles 23 de Noviembre, Apple aprobó mi primera aplicación: iMentiras.

Ahora que está tan de moda la política con motivo del cambio de Gobierno, con iMentiras podrás escuchar las mejores frases de los políticos españoles a lo largo de la historia. Actualmente consta de unas 20 frases, pero se irán ampliando en futuras actualizaciones así como implementando mejoras como un botón de pausa. La aplicación está disponible en el App Store de forma gratuita.

Link al App Store | iMentiras

Cómo mostrar una hoja de acciones

2 comentarios


Una hoja de acciones (o Action Sheet en inglés) es el típico desplegable que nos aparece en la parte inferior de la ventana cuando queremos contactar con alguien en ciertas aplicaciones o cuando simplemente queremos eliminar un borrador en la app Mail. Lo bueno de las hojas de acciones es que son muy simples y la interacción con el usuario es muy buena.

El código es este:

-(IBAction)showActionSheet:(id)sender{

UIActionSheet *popupQuery = [[UIActionSheet alloc] initWithTitle:@"¿Cómo desea contactar?" delegate:self cancelButtonTitle:@"Cancelar" destructiveButtonTitle:nil otherButtonTitles:@"Enviar email",@"Llamada telefónica", @"SMS", nil];

popupQuery.actionSheetStyle = UIActionSheetStyleDefault;
[popupQuery showInView:self.view];
[popupQuery release];
}

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {

if (buttonIndex == 0) {
//Email
} else if (buttonIndex == 1) {
//Llamada telefónica
} else if (buttonIndex == 2) {
//SMS
} else if (buttonIndex == 3) {
//Botón de cancelar (dejar en blanco)
}
}

Para configurarla a nuestras necesidades, necesitaremos editar la línea 3. initWithTitle establece el título que va a llevar la hoja de acciones, en cancelButtonTitle establecemos el texto de nuestro botón de cancelar. Si no queremos ponemos nil. destructiveButtonTitle es el botón de color rojo. Su función es idéntica a la de los demás botones. Por último, en otherButtonTitle ponemos los botones que vayamos a usar, como en el ejemplo.

Para finalizar, deberemos editar los campos donde pone //Email, //Llamada telefónica, etc. Deberemos borrar los comentarios e insertar el código que queramos ejecutar al pulsar cada botón. Si añadimos otro botón, el buttonIndex == 3 pasará a ser de este nuevo botón y los últimos buttonIndex serán los de los destructiveButton y de los cancelButton, respectivamente.

Mostrar tu localización exacta en MKMapView

Deja un comentario

Mostrar la localización exacta de tu terminal en un MKMapView es muy fácil. Solo hay que poner el siguiente código:

-(IBAction)Localizame:(id)sender{

    mapa.showsUserLocation=YES;
    
}

Simplemente hay que cambiar el pointer mapa por el de tu MKMapView. Si lo que quieres es mostrar la localización nada más abrir la vista donde está el mapa, el código debe de ir dentro del ViewDidLoad.

Abrir una vista modal al pulsar un botón

6 comentarios


A la hora de hacer una aplicación es imprescindible poder acceder a diferentes vistas. Una manera es integrar Navigation Controller, pero si sólo quieres acceder a unas pocas, la mejor forma son las vistas modales. Además disponen de varios tipos de transiciones, concretamente cuatro.

Una vez creadas las dos vistas (donde está el botón y a la que quieres ir), hay que introducir este código en la primera:

-(IBAction)viewController:(id)sender{
    Vista2 *goView2 = [[Vista2 alloc] initWithNibName:nil bundle:nil];
    goView2.modalTransitionStyle = UIModalTransitionStylePartialCurl;
    [self presentModalViewController:goView2 animated:YES];

}

Una vez introducido el código, únicamente hay que cambiar Vista2 por el nombre de la vista a la que quieras ir al pulsar el botón. Para luego volver a la vista anterior, hay que poner este código:

-(IBAction)volver:(id)sender{
[self dismissModalViewControllerAnimated:YES];
}

Para cambiar a los distintos tipos de transiciones, solamente hay que cambiar estos códigos por el de la línea 4.

goView2.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
goView2.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
goView2.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

Cada uno es una transición diferente, y obviamente, sólo puede ser usada una por vista. En caso contrario dará error.

Older Entries Newer Entries

A %d blogueros les gusta esto: