Uso de Gestos, Swipe en MonoTouch
El uso de gestos dentro de la API de iOS no es muy complicado,
solo requiere de unos pocos pasos para que funcione a la perfección.
Lo primero que haremos sera crear un proyecto nuevo del tipo vista simple, a este le agregaremos un control del tipo UILabel en XCODE y agregaremos un outlet a este.
Nuestro siguiente paso sera crear una lista de strings con los nombres de algunos paises junto a un par de contadores, esto en nuestro controlador:
Ya con la lista de Países creada y determinada la posición actual
en la que estamos dentro de la lista, procedemos a crear los métodos
de reconozimiento de los gestos. Primero crearemos un método de
inicializacion:
Como se puede apreciar aquí, primero instanciamos una variable del
tipo UISwipeGestureRecognizer, luego le asignamos la dirección que
deseamos que reconozca , agregamos un selector y por ultimo agregamos
el gesto a la vista actual.
Nuestro paso final es crear los métodos que definiran que acción realizar cuando se genere el evento del gesto:
Si lanzamos la aplicacion veremos lo siguiente:
Lo primero que haremos sera crear un proyecto nuevo del tipo vista simple, a este le agregaremos un control del tipo UILabel en XCODE y agregaremos un outlet a este.
Nuestro siguiente paso sera crear una lista de strings con los nombres de algunos paises junto a un par de contadores, esto en nuestro controlador:
private
int
currentPositionItem=0;
private
int
numberOfElements;
private
List<string>
listCountries;
public
SwipePageControlViewController () : base
("SwipePageControlViewController",
null)
{
listCountries
= new
List<string>
(){"Bolivia",
"Argentina",
"Espania",
"Mexico",
"USA",
"Canada"}
;
numberOfElements
= listCountries.Count;
}
protected
void
InitRecognizers ()
{
var
_swiperRight = new
UISwipeGestureRecognizer ();
_swiperRight.Direction
= UISwipeGestureRecognizerDirection.Right;
_swiperRight.AddTarget
(this,
new
MonoTouch.ObjCRuntime.Selector ("SwipeNext"));
this.View.AddGestureRecognizer
(_swiperRight);
var
_swiperLeft = new
UISwipeGestureRecognizer ();
_swiperLeft.Direction
= UISwipeGestureRecognizerDirection.Left;
_swiperLeft.AddTarget
(this,
new
MonoTouch.ObjCRuntime.Selector ("SwipePrevious"));
this.View.AddGestureRecognizer
(_swiperLeft);
}
Nuestro paso final es crear los métodos que definiran que acción realizar cuando se genere el evento del gesto:
[Export("SwipeNext")]
public
virtual
void
SwipeNext (UIGestureRecognizer rec)
{
if
(currentPositionItem == 0) {
currentPositionItem
= numberOfElements - 1;
lblNumberPage.Text
= CreateFormatingText (listCountries [currentPositionItem]);
}
else
{
currentPositionItem--;
lblNumberPage.Text
= CreateFormatingText (listCountries [currentPositionItem]);
}
}
[Export("SwipePrevious")]
public
virtual
void
SwipePrevious (UIGestureRecognizer rec)
{
if
(currentPositionItem == numberOfElements - 1) {
currentPositionItem
= 0;
lblNumberPage.Text
= CreateFormatingText (listCountries [currentPositionItem]);
}
else
{
currentPositionItem++;
lblNumberPage.Text
= CreateFormatingText (listCountries [currentPositionItem]);
}
}
private
string
CreateFormatingText (string
_string)
{
return
"Welcome
to: "
+ _string;
}
Suerte!.
Comentarios
Publicar un comentario