¿Quieres suscribirte a todos nuestros blogs? Hazlo desde aquí | Contacta | Publicidad | Empresas | Acerca de factormac.com | LOGIN
Programaci贸n para el iPhone (III)

Programaci贸n para el iPhone (III)

Santiago Fern谩ndez | 31-08-2008

En este tutorial vamos a pulir la aplicaci贸n de las anteriores entregas, aprendiendo de paso bastantes trucos.

Pid谩mosle prestado a Ive el ojo de la usabilidad para ver que problemas tiene nuestra aplicaci贸n (aparte del hecho de que, como aplicaci贸n de prueba, no hace nada que pueda considerarse 煤til). Podemos ver que, nada m谩s cargar, antes de pulsarse el Switch, se muestra el texto “Label”. Queda feo, 驴verdad?

Pues cambi茅moslo. Podemos hacerlo de dos maneras, y es importante que conozcamos las dos, aunque en la pr谩ctica solo har铆a falta una. La primera de ellas es probablemente la mas obvia: abrimos el HolaMundoViewController.xib, hacemos clic en el Label, vamos a la primera pesta帽a del Inspector y borramos donde pone Label.

Ahora, lo haremos de la segunda. Vamos a HolaMundoViewController.m. Te habr谩s fijado que aparte del c贸digo que escribiste en la anterior entrega hab铆a mucho mas c贸digo en ese archivo, la mayor铆a de el en color verde. Eso se debe a que est谩 comentado. Elimina las marcas de comentarios (el /* y el */) y el texto de viewDidLoad hasta dejarlo as铆:

Ver谩s que adem谩s hemos a帽adido una l铆nea que ya conoces: esta l铆nea cambia el valor text de miLabel a “…”. Todo lo que est谩 en la funci贸n viewDidLoad se ejecuta en el momento en que la vista ha cargado.

Ahora, si haces clic en Build & Go, ver谩s que, antes de pulsar nada, salen los puntos suspensivos que escribiste antes. En la aplicaci贸n, haz clic en el Switch una vez. Ver谩s que el texto cambia a “Hola iMundo!” tal y como debe ser. Ahora pulsa otra vez. 驴No deber铆a hacer algo?

Vamos a hacer que cambie a color rojo si vuelves a poner el Switch en apagado, y que vuelva al negro si lo pones en encendido de nuevo. Modifica la funci贸n cambioSwitch para que quede as铆:

Eso que veis ah铆 es la sentencia if. La sentencia if eval煤a una condici贸n, y realiza unos pasos u otros dependiendo de si la condici贸n se cumple o no. Quiz谩s as铆 quede mas claro:

En nuestro caso, comprobamos si el valor on de miSwitch es cierto (YES), y, si es as铆, le pasamos a la propiedad textColor de miLabel el resultado de crear un objeto UIColor y ejecutar en 茅l el m茅todo blackColor; en caso de que sea falso (NO), el m茅todo que ejecutaremos ser谩 el m茅todo redColor. Los objetos UIColor (NSColor, si programas para Mac) vienen con colores predefinidos, como los usados en este caso.

Esta parte ha sido un poco mas dif铆cil de comprender. Con algunos tipos de objetos (principalmente los que no son visibles en la interfaz), en lugar de modificar sus propiedades usamos m茅todos. Este es el caso de UIColor. Si quisi茅ramos, podr铆amos crear cualquier color en base a, por ejemplo, el tono, valor y saturaci贸n del color, con un m茅todo. Pero en este caso solo queremos crear un color rojo y, en caso de que el Switch est茅 encendido, un color negro, as铆 que usamos los colores predefinidos.

De la misma forma que la propiedad text de miLabel ha de recibir texto, la propiedad textColor ha de recibir un objeto UIColor. Por 煤ltimo, la sintaxis de los m茅todos:

Creo que se entiende bastante bien. Por supuesto, cada objeto tiene sus m茅todos con sus formas de funcionar, as铆 que es importante tener siempre la documentaci贸n a mano (鈱樷尌?) a la hora de programar.

Creo que ya hemos aprendido suficiente por hoy. Guardad, compilad (Build & Go), y probad a ver si funciona. Si todo va bien, deber铆a empezar con “…”, cambiar a “Hola iMundo!” al pulsarlo por primera vez, y el resto de toques alternar铆an entre color rojo y negro.

Si quer茅is, pod茅is ir “trasteando” con esta aplicaci贸n o creando otras, creo que ya sab茅is bastante.

En la cuarta entrega (si, va a haber una cuarta, lo hab茅is conseguido…) a帽adiremos funcionalidad extra a nuestra aplicaci贸n. Aunque la verdad es que no lo tengo decidido, as铆 que si quer茅is empezamos una nueva aplicaci贸n teniendo en cuenta los conocimientos adquiridos con esta.

Que os ha parecido hasta ahora? Muy f谩cil? Muy dif铆cil? Lo segu铆s o os perd茅is? Cualquier problema, duda o sugerencia, en los comentarios.

Art铆culos relacionados:


Para hacer un trackback a este artículo, usa esta URL
Para seguir los comentarios de este artículo por RSS, usa este enlace


    14 comentarios


  1. Alg煤n libro que recomiendes? No que sean basicos de programaci贸n, he programado en java. C no lo he visto aunque conozco un poco la sintaxis.
    Bueno, seguir茅 tu tuto con mucho interes.

  2. @LcTrKiD: Como ya dije en los comentarios de una de las entregas, Cocoa Programming for Mac OS X es EL libro.

  3. aditza121

    No es por asustar ni nada, pero acab谩is de violar el acuerdo de confidencialidad (NDA) de Apple (el cual aceptas al descargarte Xcode 3.1 y la SDK).
    google: iphone skd nda

    A煤n as铆 los tutoriales son la hostia, espero que apple no los descubra y empiece a enviar citaciones.

  4. @aditza121: No es por quitarte el susto ni nada, pero ese acuerdo acab贸 cuando la beta pas贸 a ser versi贸n final. :D

  5. aditza121

    @Santi: La verdad es que no, la NDA sigue ah铆. Se rumorea que sigue por cosas de patentes… Hay un art铆culo por ah铆 en macrumors me parece.

  6. aditza121, gracias por el aviso.
    Comprobando como dices el NDA, no hay nada que se haya violado.

    Apple deja bien claro que no se puede comunicar informaci贸n propietaria de Apple recibida mediante la posesi贸n de una cuenta de desarrollador y la posesi贸n del SDK; realizar un tutorial de como usar ese SDK no es difundir informaci贸n privada puesto que no implica el pleno conocimiento 煤nicamente de la herramienta para realizarlo.

    En cualquier caso, el tutorial (siendo estupendo como es) seguir谩 online hasta el momento en que por alg煤n casual, deba ser retirado si as铆 debe ser.

    Gracias de nuevo por el apunte y gracias tambi茅n por disfrutar de los tutoriales :)

  7. aditza121

    @Angel Custodio:
    Cito de : http://www.macobserver.com/article/2008/08/27.2.shtml
    The nondisclosure agreement, or NDA, that iPhone developers are bound to prohibits them from discussing how they design their applications and from sharing coding techniques.
    Traducido libremente ser铆a:
    El acuerdo de confidencialidad, o NDA, al que est谩n ligados los desarrolladores de software del iPhone, les prohibe discutir c贸mo dise帽an sus aplicaciones y compartir t茅cnicas para programar.

    Para m铆, este tutorial es una violaci贸n del acuerdo, pero vamos, cada uno que lo mire como quiera…

    (siento trollear pero no me gusta no tener raz贸n :D)

  8. @aditza121 T煤 te vas a chivar ??? Pues nada, todos contentos jajaja

  9. @aditza121: No es justo! Ya tuve que parar el desarrollo de mi bomba at贸mica para instalar iTunes!

  10. Dani

    a mi me da igual lo que digan los abogados de apple, yo creo que lo que le interesa a apple (estif) es que todos programemos para productos apple (sino serian tontos y no tienen mucha pinta de serlo).

    y lo de la app podemos hacer algo bajando el feed de factormac al aifon :P o algo asi de internet, que mola.

  11. ibobx

    Fuck Apple si dicen eso.

  12. Carlos A. Leguizam贸n

    Estimados, todo esto que hace Apple, en limitar la difusi贸n de informaci贸n es simplemente porque quiere ser la misma Apple en realizar y distribuir software picante para iPhone.

    Obviamente, lo que digo es un rumor, pero un rumor bastante v谩lido.

  13. @Carlos A. Leguizam贸n: Lo dudo mucho. Apple solo ha lanzado dos aplicaciones: Texas Hold’em y Remote. Una de ellas es gratuita. No veo que sea un rumor bastante v谩lido cuando ahora mismo hay m谩s de 1000 aplicaciones. Adem谩s, Apple no est谩 limitando la difusi贸n de informaci贸n, no hemos recibido ning煤n Cease and Desist ni tengo ning煤n sicario golpeando la puerta de mi casa.

  14. aditza121

    @Santi: Eso es porque todav铆a no me he… digo nadie se ha chivado :D




(obligatorio)
¿Añadir la URL de tu blog?


Sindicación

Nube de tags

Publicidad



Redactores

Buscador


   Haz INTRO para realizar la búsqueda

Más comentado

Publicidad



Blogroll

Categorías

Archivo

Créditos




factormac.com © 2008 - Algunos derechos reservados - Aviso Legal

Waimoo