viernes, 12 de octubre de 2012


    El Mejor foro de la red dedicado a los productos de Apple.



En el podrás resolver todas tus dudas y colaborar para ayudar a los demás, sin duda el mejor foro de la Red dedicado al los Fans de la Manzana.









www.iphoneadictos.es





sábado, 6 de octubre de 2012

Cosas basicas sobre XCode.




Guía de pequeños trucos en XCode.

Para hacer que desaparezca el teclado en un TexField:

Creamos una accion y llamamos al sendero de la función y le decimos que deje de ser el primero que responde.
Luego conectamos la función con Did end on Exit y al tocar en la tecla Return el teclado desaparece.

-(IBAction)escoderTeclado:(id)sender
{
    [sender resignFirstResponder];
}


Para hacer desaparecer el teclado en las vista de texto usaremos esto:
En este caso con la tecla Return subimos una linea y para ocultar el teclado hacemos tap en cualquier parte.
Escribir esto en el viewDidLoad:

- (void)viewDidLoad
{
    [super viewDidLoad];
    UITapGestureRecognizer *reconoceTap =[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleBackgroundTap:)];
                                                                                                             
    reconoceTap.cancelsTouchesInView = NO;
    [self.view addGestureRecognizer:reconoceTap];
        
}

 Y luego creas este metodo:(VistaTexto seria el nombre que le hemos dado al objeto vistaDeTexto.):
También se podría aplicar a los UITextField. 

-(void)handleBackgroundTap:(UITapGestureRecognizer *)sender
{
    [vistaTexto resignFirstResponder];
}


Enviar Mensaje de Twitter con una imagen:
Añadimos al proyecto el Framework Social.framework
Lo importamos al proyecto y añadimos al proyecto la imagen que queremos enviar.

Con este primer metodo le estamos diciendo que si la conexión es posible nos envíe el Tweet.

- (IBAction)twitter:(id)sender
{
  
      if (SLComposeViewControllerResultDone)

    {
        SLComposeViewController *tweet=[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
    
        [tweet setInitialText:@"Prueba del Twitter"];
        UIImage *imagenTwitter =[UIImage imageNamed:@"iconoforo.jpg"];
        [tweet addImage:imagenTwitter];
        [self presentViewController:tweet animated:YES completion:Nil];
    }
}

Y esta acción la usamos para ver si es posible la conexión y nos salta una alerta que nos avisa si es posible o si no lo es.

- (IBAction)servicioDisponible:(id)sender
{
    if (SLComposeViewControllerResultCancelled)
    {
        UIAlertView *alertaServicio =[[UIAlertView alloc]initWithTitle:@"ATENCION" message:@"Imposible enviar Twitter" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alertaServicio show];
    }
        else
        {
            UIAlertView *alertaServicioCorrecto =[[UIAlertView alloc]initWithTitle:@"¡¡Perfecto!!" message:@"Es posible enviar Twitter" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alertaServicioCorrecto show];
        }
        
    
    return;
}


Para comprobar si se a escrito algo en el UITextField:

Contrasenya y nombreUsuario son dos UITextField, con la sentencia length comprobamos su longitud y si esta es igual a cero no salta la alerta o podríamos crear otra electa indicando que el campo de texto esta vacío.

- (IBAction)Entrar:(id)sender
{
    NSString *paswor=[[NSString alloc]init];
    paswor=contrasenya.text;
    
    NSString *nombreUser =[[NSString alloc]init];
    nombreUser=nombreUsuario.text;

    int length =[nombreUser length];
    int paswor2 =[paswor length];

    if (length==0 | paswor2==0)
        return;
    NSString *mensajeAlerta =[NSString stringWithFormat:@"Bienvenido %@",nombreUser];
    
    
    UIAlertView * alerta =[[UIAlertView alloc]initWithTitle:@"Usuario Aceptado" message:mensajeAlerta delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
    
    [alerta show];
    
    
    
}


Crear una alerta con varias opciones y saber cual de las opciones a sido pulsada:
Primero con UIAlertView.

- (IBAction)crearAlerta:(id)sender
{
    UIAlertView *alerta=[[UIAlertView alloc]initWithTitle:@"Alerta creada" message:@"Varias Opciones" delegate:self cancelButtonTitle:@"ok" otherButtonTitles:@"Opcion 1",@"opcion 2",@"Opcion 3", nil];
    [alerta show];
    
}

-(void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if (buttonIndex== alertView.cancelButtonIndex)
    {
        NSLog(@"Pulsado el boton de Cancelar o OK");
    }
    else if (buttonIndex==alertView.firstOtherButtonIndex)
    {
        NSLog(@"Se a pulsado el primer Boton");
    }
    else if (buttonIndex==alertView.firstOtherButtonIndex +1)
    {
        NSLog(@"Pulsado el segundo Boton");
    }
    else if (buttonIndex==alertView.firstOtherButtonIndex +2)
    {
        NSLog(@"Pulsado el tercer boton");
    }
    
}

Ahora veremos el mismo ejemplo pero con el botón rojo(destructivo):
Aqui usaremos el UIActionSheet.
Tenemos que añadir el protocolo <UIAlertViewDelegate>.
- (IBAction)botonRojo:(id)sender
{
    UIActionSheet *botonRojo =[[UIActionSheet alloc]initWithTitle:@"Con el Boton Rojo" delegate:self cancelButtonTitle:@"Salir" destructiveButtonTitle:@"Borrar todo" otherButtonTitles:@"Opcion 1",@"Opcion2", nil];
    
    [botonRojo showInView:self.view];//Observamos que la forma de llamarlo es diferente
}

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if (buttonIndex== actionSheet.cancelButtonIndex)
    {
        NSLog(@"Pulsado el boton de Cancelar o OK");
    }
    else if (buttonIndex==actionSheet.destructiveButtonIndex)
    {
        NSLog(@"Pulsado el boton rojo");
    }
    else if (buttonIndex==actionSheet.firstOtherButtonIndex)
    {
        NSLog(@"Se a pulsado el primer Boton");
    }
    else if (buttonIndex==actionSheet.firstOtherButtonIndex +1)
    {
        NSLog(@"Pulsado el segundo Boton");
    }
    else if (buttonIndex==actionSheet.firstOtherButtonIndex +2)
    {
        NSLog(@"Pulsado el tercer boton");
    }
}

Alerta con entrada de texto del Usuario:
Muestra el nombre introducido en la propiedad text de una Label.

- (IBAction)entradaUsuario:(id)sender
{
    UIAlertView *conEntrada =[[UIAlertView alloc]initWithTitle:@"Cual es su nombre?:" message:nil delegate:self cancelButtonTitle:@"Aceptar" otherButtonTitles:nil];
    conEntrada.alertViewStyle =UIAlertViewStylePlainTextInput;
    [conEntrada show];
    
}
-(void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    UITextField *field1 =[alertView textFieldAtIndex:0];
    verNombre.text=[NSString stringWithFormat:@"Nombre: %@",field1.text];
}




Métodos que se ejecutan en el AppDelegate.m, según en estado se encuentre la aplicación.



- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    NSLog(@"Aqui es en el Bool");
    //Este siempre se ejecuta al iniciar la aplicación.
    //Solo se ejecuta si la app esta cerrada totalmente
    return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application
{
   NSLog(@"Aqui es en el applicationWillResignActive");
    //Este se ejecuta cuando cerramos la aplicación con boton Home.

}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
    NSLog(@"Aqui es en el applicationDidEnterBackground");
    //Esta se ejecuta cuando pasa a segundo plano.
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    NSLog(@"Aqui es en el applicationWillEnterForeground");
    //Se ejecuta Cuando vuelve del segundo plano.
}

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    NSLog(@"Aqui es en el applicationDidBecomeActive");
    //Este se ejecuta cuando se inicia la aplicación y esta a la espera.
    //Tambien cuando vuelve desde segundo plano y se queda a la espera de algún evento.
     
}

- (void)applicationWillTerminate:(UIApplication *)application
{
    NSLog(@"Aqui es en el applicationWillTerminate");
    //Este se ejecuta al cerrar definitivamente la aplicación.

}

Crear una animación:
animacionImagen seria el nombre del UIImage donde se reproducira la animación.

 NSArray *animacionArray=[[NSArray alloc]initWithObjects:
                            [UIImage imageNamed:@"anim1.png"],
                            [UIImage imageNamed:@"anim2.png"],
                            [UIImage imageNamed:@"anim3.png"],
                            [UIImage imageNamed:@"anim4.png"],
                            [UIImage imageNamed:@"anim5.png"],
                            [UIImage imageNamed:@"anim6.png"],nil];
    
    animacionImagen.animationImages=animacionArray;
    animacionImagen.animationDuration=0.5;
    animacionImagen.animationRepeatCount=1;
    animacionImagen.userInteractionEnabled=NO;
    [animacionImagen setHidden:NO];
    [animacionImagen startAnimating];


Reconoce si se a tocado en una zona de pantalla:

- (void)viewDidLoad
{
    [super viewDidLoad];
    UITapGestureRecognizer * tapImagen=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleTap:)];
    tapImagen.cancelsTouchesInView=NO;
    [self.view addGestureRecognizer:tapImagen];
}

-(void)handleTap:(UITapGestureRecognizer *)sender
{
    CGPoint startlocation=[sender locationInView:self.view];
    if ((startlocation.y >= 211) &&  (startlocation.y <=(211 + 104)))
    {
       //Aqui se ejecutaría esto si el usuario toca la zona determinada para detectar las pulsaciones.
    }
}



miércoles, 30 de marzo de 2011

COSAS CURIOSAS:

Aunque parezca ciencia ficción,  Telegraph publicó un interesante articulo que me llamó la atención. La base de su historia es un gran avance, están desarrollando  un chip que puede generar energía de movimientos microscópicos del cuerpo humano, tales como el latido del corazón humano o el movimiento que producimos al respirar. El nuevo chip que es "mil veces más potente" de un prototipo anterior y  que se basa en nanogeneradores.
Los científicos dicen que es probable que esta tecnología podrá permitir producir  gadgets que no necesitan pilas porque va a generar energía de nuestro movimiento del cuerpo. No es ciencia ficción, es una realidad, de la que ya tienen prototipos de trabajo:
El equipo de científicos realizo, la presentación de sus hallazgos en la Reunión Nacional y Exposición de la Sociedad Química de Estados Unidos, lo han utilizado para las pantallas LCD y los diodos de potencia, así como para transmitir una señal de radio una vez que la energía generada se almacena.
Imaginaos la revolución que esto puede suponer a la hora de construir aparatos cada vez mas pequeños y con mas autonomía.
 Fuente: 9to5Mac.com

martes, 15 de marzo de 2011

NUEVO IPAD 2.

Como todos sabeis hace unas semanas Steve Jobs director de Apple nos presentaba el nuevo Ipad2.




Chip A5 dual-core.
Corre por dos.

Con dos potentes núcleos en un solo chip A5, el iPad puede hacer el doble en el mismo tiempo. Notarás la diferencia al navegar por Internet, ver películas, hacer videollamadas FaceTime, jugar y cambiar de aplicación. La multitarea va rodada y las apps cargan más rápido. En pocas palabras: todo funciona mejor.

Para jugones.

Gráficos superrápidos.

Con un rendimiento gráfico hasta nueve veces superior, los juegos en el iPad fluyen mejor y parecen aún más realistas. También mejora el rendimiento de las apps, sobre todo las que trabajan con vídeo. Verás qué cambio cuando recorras tu fototeca, edites vídeo en iMovie o reproduzcas animaciones en Keynote.

Con esta batería llegarás lejos.

Aunque el diseño del iPad es más fino y ligero, sigue teniendo la misma autonomía de 10 horas.1 Lo suficiente para disfrutar durante un vuelo transoceánico o de una larga noche de cine. El ultraeficiente chip A5 y el sistema operativo iOS se encargan de que tengas batería de sobra, así que despreocúpate.

Dos pequeñas cámaras. Una gran bienvenida al FaceTime en el iPad.

El iPad incluye dos cámaras: una delante y otra detrás. Que no te engañe su tamaño: son pequeñitas pero matonas. Se han diseñado para realizar videollamadas FaceTime y funcionan en conjunto, así que puedes ver a tu gente y ellos a ti.3 Con la cámara delantera te verás la cara con tus amigos. Y si cambias a la trasera durante una videollamada, podrás enseñarles qué estás viendo o con quién andas. Si merece la pena grabarlo, activa la cámara trasera. Como es HD, todos los vídeos que grabes serán pequeñas obras maestras. Y por si fuera poco, puedes sacar fotos imposibles con Photo Booth: vete practicando la cara más divertida que se te ocurra.

Smart Cover. Diseñada para el iPad, y viceversa.

El iPad 2 y la funda Smart Cover están hechos el uno para el otro. Literalmente.4 Hemos diseñado la Smart Cover para integrarse con el iPad: por arriba, por abajo y la mires por dónde la mires. Con la ingeniosa tecnología magnética, estarán más que unidos. La Smart Cover se acopla perfectamente al iPad y protege su pantalla sin esconder su diseño fino y ligero. Cuando levantas la Smart Cover, el iPad se activa al instante. Cuando la cierras, el iPad se pone en reposo automáticamente. Y aún hay más: se transforma en un soporte perfecto para ver películas, jugar y navegar por Internet. Viene en 10 brillantes colores, cinco de ellos en piel italiana teñida. Escoge la funda que prefieras y alucina en colores.


Pantalla retroiluminada por LED. Verás qué bien.

El iPad tiene una gran pantalla de alta resolución de 9,7 pulgadas para ver fotos, vídeos, páginas web, libros y un largo etcétera. Gracias a la retroiluminación por LED todo se ve con una nitidez y un brillo espectaculares. Incluso en lugares con poca luz, como en un avión. Además, puedes sujetar el iPad como te venga en gana, ya que muestra una imagen impecable tanto en vertical como en horizontal, adaptando la pantalla a cada movimiento (incluso si lo pones boca abajo). Como utiliza la tecnología IPS (de variación en el plano), permite un amplio ángulo de visión de 178º. Ya lo vea quien esté a tu lado o en la otra punta de la habitación, lo que es seguro es que siempre disfrutará de las mejores vistas.

Multi-Touch.

El mundo en tus dedos.






Una buena tecnología es aquella que se percibe como algo natural, prácticamente como si no estuviera ahí. Así es Multi-Touch en el iPad. Como todo se hace con los dedos, desde navegar por Internet hasta escribir un correo, leer un libro o ver fotos, es mucho más fácil y divertido. ¿Cómo funciona? Cuando tocas su superficie con los dedos, unos campos magnéticos perciben cada uno de tus movimientos y tus toques, barridos y pellizcos se convierten al instante en acciones reales. Así de fácil.





iOS 4.
El sistema operativo móvil más avanzado
del mundo.


iOS 4 es el sistema operativo del iPad (y también del iPhone y el iPod touch) que te permite explorar, leer y verlo todo con solo mover el dedo. Incluye las apps más potentes, innovadoras y divertidas que más usas todos los días (varias veces). Además, es la plataforma en la que se han desarrollado otras 65.000 apps fantásticas para el iPad. Es sumamente seguro y estable, ofrece gran capacidad de respuesta y se ha concebido para funcionar a la perfección con los componentes de hardware del iPad. iOS 4 es la razón por la que ningún otro dispositivo puede acercarse a lo que el iPad es capaz de hacer.


Activación inmediata.
En un abrir y no cerrar de ojos
.

Coge el iPad, pulsa el botón de inicio y se activará al instante. El iPad incorpora almacenamiento flash rápido, eficaz y estable que te permite acceder a tus datos a tal velocidad que todo aparece ante tus ojos sin darte ni cuenta.

Wi-Fi y 3G.
Conectado por partida doble.

El iPad viene de serie con la tecnología inalámbrica avanzada 802.11n que detecta automáticamente las redes Wi-Fi disponibles a las que puedes conectarte con unos simples toques. También está disponible con conexión 3G, por lo que si estás en un lugar sin Wi-Fi, siempre podrás navegar por Internet, leer el correo o buscar indicaciones.

El iPad conoce todos tus movimientos.



Giroscopio,Brujula y Acelerometro.


Gracias al acelerómetro integrado puedes poner el iPad en vertical, en horizontal e incluso boca abajo, y la pantalla ajustará todo lo que estés viendo o leyendo. Ahora el acelerómetro, el giroscopio de tres ejes y la brújula funcionan juntos para detectar dónde está el iPad y hacia dónde va. De esta forma los juegos, los mapas y otras apps son capaces de percibir cualquier giro o movimiento. Y esto no es más que el principio para muchas de las mejores apps del iPad.

AirPrint. Libertad de imprenta.


Imprime tus emails, fotos, páginas web y documentos directamente desde tu iPad vía Wi-Fi. No necesitas descargar ningún software, instalar drivers ni conectar un solo cable. Con unos simples toques pasarás de ver algo en la pantalla del iPad a tenerlo en papel en tus manos.

AirPlay.
Películas, fotos y música por la puerta grande.

Ahora puedes reproducir en streaming todo el contenido del iPad —tus canciones, fotos y vídeos— en tu televisor HD y en tus altavoces mediante AirPlay o un Apple TV en una red Wi-Fi. Con solo tocar el icono AirPlay, podrás escuchar música, pasar una noche de cine inolvidable, presumir de fotos o ver vídeos de YouTube a lo grande.

En resumen que esta muy guapo y vale la pena la inversión pues se puede usar como un portatil con reducido peso y dimensiones o como una potente consola de videojuegos o para ver peliculas, ver presentaciones de fotos o leer un libro o navegar por internet etc....
Su uso, es tan extenso que seria dificil enumerarlo aqui.




Toda esta informacción e imagenes estan extraidas de la pagina oficial de Apple.