Class Actions en Interface Builder

16 July 2008

Aunque la implementación de cierta funcionalidad en nuestros proyectos, por medio de código sigue siendo defendida por muchos, yo sigue manteniendo que para ciertas opciones es importante aprovechar las ventajas del editor de recursos Interface Builder.

Un ejemplo tan sencillo como la implementación de una acción para un botón en una vista de nuestro proyecto, con la consiguiente representación gráfica de tamaño, colores, texto del botón, etc, por medio de código sería algo como:

 
[cpp]
CGRect buttonFrame = CGRectMake(10.0, 200.0, 234.0, 46.0);

pulsameButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];

pulsameButton.frame=buttonFrame;

[pulsameButton setTitle:@"Púlsame durante 5 segundos" forState:UIControlStateNormal];

pulsameButton.font = [UIFont boldSystemFontOfSize:[UIFont buttonFontSize]];

pulsameButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;

pulsameButton.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;

[pulsameButton addTarget:self action:@selector(up:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:pulsameButton];
[/cpp]
 

Esto mismo, podemos conseguirlo por medio del editor de recursos de una manera sencilla y bien organizada, con el consiguiente ahorro de ciertas lineas de código y dejando algo más limpio nuestro proyecto. Sigamos los pasos para ello desde un proyecto en blanco.

 

CREACIÓN DE UN PROYECTO DE TIPO WINDOW BASED APPLICATION

Tras la creación de nuestro proyecto, agregamos una nueva vista a nuestra ventana, y a continuación le cambiamos de nombre para posteriormente crear los ficheros necesarios para nuestra clase que gestionará los posibles eventos que se produzcan en ella.





 

Agregamos un botón a la recién creada vista.



Asignamos a nuestra vista una nueva acción para controlar cuando pulsemos dicho botón.



Para finalizar conectamos esa acción con nuestro botón y nos ofrecerá una lista de eventos, donde tendremos que elegir en que evento lanzaremos dicha acción de nuestro botón. Para hacerlo cuando lo pulsemos, se suele seleccionar el evento Touch Up Inside.



Con estos pasos ya tenemos listo nuestro fichero de recursos y preparado para guardar nuestra vista con la acción de pulsación de botón en sus ficheros correspondientes. Lo hacemos mediante la opción de menu File / Write Class File. Asignamos un nombre a nuestra clase y lo guardamos en el directorio Classes de nuestro proyecto.

Veremos que nos ha generado la función (Pulsame) que será llamada cuando pulsemos nuestro botón.

Con esto hemos conseguido definir ciertas funciones que no sean de gran complejidad en nuestro fichero de recursos.

 

 
Class Actions en Interface Builder

Comentarios recientes

  • 18 July 2008
    David dijo:

    ya me di cuenta que en el metodo touchesBegan:withEvent: se pueden ejecutar acciones para cada numero de toques simultaneos, utilizando el parametro tapCount de un objeto tipo UITouch. Ahora voy a probar con el UIResponder a ver si puedo tomar el evento para el multitouch. Gracias por su ayuda!

  • 18 July 2008
    Antonio dijo:

    Echando un vistazo por la documentación, he encontrado un método de UIResponder, que parece que hace lo que tu necesitas. Detecta cuando una o más pulsaciones simultáneas se producen en una vista o ventana, mediante el método: touchesBegan:withEvent: donde el primer parámetro que recibimos, touches, nos indica ese dato. Espero que te sirva.

  • 17 July 2008
    Antonio dijo:

    Hola David No se contestarte a eso, pero voy a investigar ya que me interesa. Imagino que tendrá algo que ver con la clase UITouch. Ya te contaré. Saludos.

  • 17 July 2008
    David dijo:

    Que tal amigos, queria saber si me podian ayudar en algo. Como se hace para que un view cualquiera, al tocarlo con un dedo haga una accion, y al tocarlo con 2 dedos haga otra? lo que deseo es que a un UIView de un UITableViewCell, al tocarlo me arroje un mensaje con un texto, y al tocarlo con 2 dedos a la vez me arroje un mensaje con otro texto... agradezco de antemano cualquier ayuda!

Deja un comentario

Escrito por:

Administrador

Sin categoría
iPhoneActions

Utilizamos cookies propias y de terceros para mantener la sesión o sus preferencias, recopilar estadísticas y proporcionar contenidos conforme a sus intereses. Si continua navegando, utiliza los servicios de la web o pulsa el botón, está aceptando su instalación y el uso que hacemos de ellas. Puede obtener más información sobre como revocar su consentimiento o cómo cambiar la configuración en este enlace.