Programar para Iphone desde dos. UITextField. Nivel Barragán.

Share


¿Cómo estamos?
Hoy, avanzaremos un poquito en nuestro aprendizaje. Una de las principales funciones que debe hacer un programa es la adquisición de datos, y para ello tenemos la clase UITextField. Se trata sin más de un simple formulario, que por defecto al ser pulsado con el dedo (recordemos que el Iphone tiene pantalla táctil) desplegará un teclado virtual en la parte inferior de la pantalla

Empezamos:
Como este es el Artículo “Programar para Iphone desde Dos” me basare en los anteriores, “desde Cero” y “desde Uno” ,y doy por sabidas las cosas expuestas en ellos.

Explicación del ejemplo:

Para poder entender bien como funciona separaré el programa en dos vistas que ocupen la pantalla completa. Cada vista contará de un Botón para ir hacia la otra vista, y además un UITextField. El TextField de la primera vista nos servirá para adquirir los datos, y en el segundo (aunque podriamos utilizar un UILabel) nos servirá para copiar los datos que hayan sido introducidos en la vista anterior.

Creación del proyecto:

1.- Abrimos xcode.app y creamos un proyecto de tipo window.

Definición de Objetos y Acciones:

Como ya tenemos una cierta base ire al grano.

2.- En el archivo.h de nuestra app delegate, crearemos todos los Outlet y todas las Actions. También será conveniente deshabilitar el UITextField de la segunda vista.

#import <UIKit/UIKit.h>
@class TEXTFIELD_BLOGViewController;
@interface TEXTFIELD_BLOGAppDelegate : NSObject <UIApplicationDelegate>
{
IBOutlet UIWindow *window;

IBOutlet id VISTA1;
IBOutlet id VISTA2;

IBOutlet id TEXTFIELD1;
IBOutlet id TEXTFIELD2;

IBOutlet id BOTON_F;
IBOutlet id BOTON_B;

NSString *cadena;
}
- (IBAction) PULSAR_ENTER_EN_TEXTFIELD1: (id) sender;
- (IBAction) PULSAR_BOTON_F: (id) sender;
- (IBAction) PULSAR_BOTON_B: (id) sender;
@property (nonatomic, retain) UIWindow *window;
@end

Creación de interface y asignación de elementos:

3.- Ahora hacemos doble click sobre el archivo.xib para abrir y editar con el interface builder nuestra pantalla.

Arrastramos dos UIView a la ventana de MainWindow.xib y las nombramos como VISTA1 y VISTA2. Hacemos doble click sobre ellas para editarlas, y a cada una de las vistas le añadimos un UIButton y un UITextField.

Ya tenemos todos nuestros elementos creados, y solo nos queda vincularlos con nuestra App Delegate. Pues bien, pulsando el Control desde nuestra app delegate vinculamos los dos botones, las dos vistas y los dos TextField a los correspondientes IBOutlet que creamos en el Archivo.h . Después de esto, pulsando el Control vinculamos los botones con la App Delegate, asignando las acciones de PULSAR_BOTON.

Hasta aquí nada nuevo, nada que no supieramos ya.

Si hicieramos lo mismo con el TEXTFIELD1 (el de la vista 1) asignariamos la IBAction al evento de pulsar sobre el TextField, pero nosotros queremos que cuando demos a la tecla ENTER del teclado virtual este se oculte. Por defecto, Xcode, establece que cuando pulsemos sobre el TextField se muestre el teclado automaticamente, es decir, esto no hace que lo implementemos. Sin embargo, una vez mostrado, si le damos al ENTER, este no se oculta, y eso si lo tenemos que implementar. Para ello en el interface builder abrimos la venta Inpector, seleccionamos el TextField de la vista uno y pulsamos sobre la pestaña de la flechita.

Nos aparece una lista de todos los eventos a los que les podemos asignar IBAction. En este caso, el que nos sirve a nuestro proposito es Did End On Exit. Pulsamos con el ratón sobre el circulito que esta a la derecha  de Did End On Exit (no hace falta tener pulsado control) y sin soltar el ratón vamos hasta nuestra App Delegate y le asignamos la IBAction PULSAR_ENTER_EN_TEXTFIELD1.

Implementación de funciones:

Como ya lo tenemos todo vinculado, es hora de implementar nuestras funciones.

4.- Cerramos interface builder y nos vamos al Archivo.m. Allí escribiremos las tres funciones:

- (void)applicationDidFinishLaunching:(UIApplication *)application

{
[window addSubview:VISTA1];
[TEXTFIELD2 setEnabled:NO];
[window makeKeyAndVisible];
}

- (IBAction) PULSAR_ENTER_EN_TEXTFIELD1: (id) sender
{
//    [VISTA1 removeFromSuperview];
//    [window addSubview:VISTA1];

[TEXTFIELD1 resignFirstResponder];
}

- (IBAction) PULSAR_BOTON_F: (id) sender
{
[VISTA1 removeFromSuperview];
[window addSubview:VISTA2];
//    cadena = [TEXTFIELD1 text];
[TEXTFIELD2 setText:[TEXTFIELD1 text]];

}
- (IBAction) PULSAR_BOTON_B: (id) sender
{
[VISTA2 removeFromSuperview];
[window addSubview:VISTA1];
}

Lo primero que hace nuestro programa como ya sabeis es ejecutar applicationDidFinishLaunching. Allí cargamos en la ventana la vista1 y desactivamos el TextField2 para que aunque sea pulsado no haga nada (esto lo podriamos haber hecho desde interface builder con el inspector).

La función PULSAR_BOTON2, simplemente cambia de la vista2 a la vista1. Y la función PULSAR_BOTON1. Además de cargar la de la vista1 a la vista2, cambia la propiedad Text del TEXTFIELD2, asignandole el valor que haya en ese momento en la propiedad Text del TEXTFIELD1.

Cuando ejecutamos PULSAR_ENTER_EN_TEXTFIELD1 hay dos maneras de lograr lo mismo, una es descargando y cargando la vista1, y la otra es ejecutar el método de UITextField :  [TEXTFIELD1 resignFirstResponder];   que lo que hace es desactivar el teclado.

5.- Compilamos y comprobamos el funcionamiento.

Tened en cuenta que la propiedad Text de un UITextField puede ser asignada a una cadena o a un array. Como he dicho al principio, la adquisición de datos es una parte esencial de cualquier programa.

Como siempre es conveniente que investigueis con la ventana inspector del interface builder las carácteristicas que puede tener un UITextField.

Otros Artículos de la serie:

Programar para Iphone desde cero. UIButton. Nivel Tarzán.

Programa para Iphone desde uno. UIView. Nivel Piolín.

Programar para Iphone desde tres. NSMutableArray. Nivel Luis Aragonés.

Programar para Iphone desde cuatro. Controllers. Nivel Cantinflas.

banner ad

3 Responses to “Programar para Iphone desde dos. UITextField. Nivel Barragán.”

  1. MAiC says:

    Bueno…otro nivel superado…creo que ya puedo decir que he alcanzado el nivel Concursante de Gran Hermano…..jajaja.
    Por cierto…en vez de usar siempre ‘id’ a la hora de declarar los objetos, también es correcto usar el tipo de objeto del que se trata, es decir, usar esto por ejemplo:
    IBOutlet UIView *VISTA1;
    en vez de:
    IBOutlet id VISTA1;
    O en los botones:
    IBOutlet UIButton *Boton;
    No?

  2. pequenionoa says:

    Si si, tambien es correcto, incluso el código queda mas claro. Yo uso id por abreviar.
    Y si, ya has superado el nivel consursante de gran hermano, ya que esta entre piolin y barragan.
    Saludos.

  3. MAiC says:

    OK. thanks! sigue así! que estos tutoriales son la leche para aprender!

Leave a Reply

  • Buy Cheapest diazepam Now 24/Internet)(safe Pharmacy. Best Online.
  • Buy Cheapest tramadol cod delivery Now Top Online Pharmacy. Best Drugstore.
  • Buy Cheap diuretics without prescription Now Best Internet. The Largest Internet Pharmacy.
  • Buy Cheapest valium online prescription Now Best Drugstore. Cheap Pharmacy Online.
  • ultram 50mg Online Without Prescription Best Prices. Pharmacy Store.
  • viagra suppliers Online Without Prescription Best Online. Pharmacy Store.
  • Buy Cheapest viagra on line pharmacy Now Cheap Pharmacy Online. Best Internet.
  • Buy Cheap valium without a precription Now Cheap Prescription Drugs. Guaranteed Shipping.
  • Buy Cheapest cialis overnight Now Special Prices For cialis overnight! Best Internet.
  • Buy Cheap cialis woman Now Online Medical Shop. Cheap Prescription Drugs.
  • Buy Cheap buy alprazolam now Now Cheap Online Pharmacy. Cheap Pharmacy Online.
  • Buy Cheap atorvastatin buy Online Best Drugstore. Online Prices For atorvastatin buy!
  • Buy Cheap sildenafil oral jelly Now Internet Prices For sildenafil oral jelly! Best Internet.
  • Buy Cheap nexium purchase Online No Prescription Needed. Best Drugstore.
  • Buy Cheapest viagra patch Online Cheap Prescription Drugs. Best Online.
  • Buy Cheap drug store pharmacy online Now Best Drugstore. Online Prices For drug store pharmacy online!
  • Buy Cheap what is the generic for viagra Online Internet Prices For what is the generic for viagra! Best Prices.
  • Buy Cheap where can i buy arthritis drugs Now Free Viagra Pills! No Prescription Needed.
  • Buy Cheapest weight loss medicine online prescrition Now Low Prices. Discount Pharmacy Online.
  • Buy Cheapest buy finasteride online Now Cheap Online Pharmacy. WorldWide Shipping.
  • Buy Cheapest infertility treatment drugs Online Cheap Online Pharmacy. Best Internet.
  • Buy Cheap levitra description Online Guaranteed Shipping. Top Online Pharmacy.
  • tadalafil soft tabs Online Without Prescription Pharmacy Store. Best Drugstore.
  • Buy Cheapest weight loss no prescription Now Best Prices. Drugs, Health And Beauty.
  • Buying Cheap cialis safety. Offshore Rx, Best Prices. Guaranteed Shipping.
  • Buy Cheapest zetia cost Now 100% Satisfaction Guaranteed. Best Online.
  • Buy Cheap order cialis online Now The Largest Internet Pharmacy. Low Prices.
  • Buy Cheap pain products Now Discount Pharmacy Online. Guaranteed Shipping.
  • Buy Cheapest levitra information Now Best Online. Internet Prices For levitra information!
  • Buy Cheapest generic cialis overnight delivery Now Free Viagra Pills! 24/Online Pharmacy.
  • Buy Cheapest side effects from viagra Online Low Prices. Internet Prices For side effects from viagra!
  • Buy Cheap chlamydia antibiotics Online WorldWide Shipping. Guaranteed Shipping.
  • Buy Cheapest online pharmacy in canada Online WorldWide Shipping. Free Viagra Pills!
  • Buy Cheap tramadol worldwide Online No Prescription Needed. Best Internet.
  • Buy Cheap levitra online order Online Discount Online Pharmacy. Pharmacy Store.
  • Buy Cheap buy generic levitra cheap Online Guaranteed Shipping. Cheap Online Pharmacy.
  • Buy Cheap muscle relaxants otc Now WorldWide Shipping. Discount Pharmacy Online.
  • Buy Cheapest pharmacy diflucan Now Cheap Pharmacy Online. Pharmacy Store.
  • Buy no prescription ultram Online Without Prescription. Best Drugstore. Low Prices.
  • Buy Cheapest promethazine side effects Online Best Internet. Drugs, Health And Beauty.
  • Buy Cheap drug store coupon Online The Largest Internet Pharmacy. Low Prices.
  • Buy Cheap vitamin shoppes Now Free Viagra Pills! Online Prices For vitamin shoppes!
  • Buy Cheap pain meds online without a prescription Now Low Prices. 24/Internet)(safe Pharmacy.
  • Buy Cheap foot pain products Online Top Online Pharmacy. 24/Online Pharmacy.
  • Buy Cheap 30 mg phentermine Now Pharmacy Store. The Largest Internet Pharmacy.
  • Buy Cheap products for back pain Now Free Viagra Pills! Cheap Pharmacy Online.
  • Buy Cheap antianxiety meds Now Free Viagra Pills! Online Medical Shop.
  • Buy Cheapest obesity self help Now Top Online Pharmacy. 24/Online Pharmacy.
  • Buy Cheap genric viagra Online WorldWide Shipping. Guaranteed Shipping.
  • Buy Cheapest soft tabs viagra Now Top Online Pharmacy. Online Medical Shop.
  • india drug sales on line Online Without Prescription Online Medical Shop. Low Prices.
  • Buy Cheap buy anti anxiety Online No Prescription Needed. Best Internet.
  • Buy Cheapest cialis generic overnight state united Online Buy Medications Online. Best Online.
  • Buy Cheap cialis gel Now Online Prices For cialis gel! Online Medical Shop.
  • Buy Cheap buy levitra us Online Best Online. Discount Online Pharmacy.
  • Buy Cheap mexico pharmacies Online Online Prices For mexico pharmacies! Best Drugstore.
  • Buy Cheap prescription weight loss drugs Now Order Cheap Meds Without Rx. Best Internet.
  • buy sildenafil citrate Online Without Prescription Best Prices. Best Internet.
  • Buy Cheap extreme weight loss Now WorldWide Shipping. 24/Online Pharmacy.
  • Buy Cheapest mexico levitra Online Best Internet. 24/Online Pharmacy.
  • Buy Cheap order inderal Now Best Drugstore. Discount Online Pharmacy.
  • Buy Cheapest ativan no prescription Now Special Prices For ativan no prescription! Best Internet.
  • Buy Cheapest buspar anxiety Now Top Online Pharmacy Supplier. Best Online.
  • rimonabant acomplia Online Without Prescription Best Prices. Best Online.
  • Buy Cheapest rx drugs without prescription Now Guaranteed Shipping. Cheap Online Pharmacy.
  • Buy Cheap energy diet pill Now Cheap Online Pharmacy. No Prescription Needed.
  • Buy Cheapest buy pain meds online without rx Now Free Viagra Pills! Buy Medications Online.
  • Buy Cheap lasix furosemide Online Low Prices. Drugs, Health And Beauty.
  • Buy Cheapest zovirax Online Guaranteed Shipping. Best Drugstore.
  • Buy Cheap mexican discount drugs Online Pharmacy At The Best Price! Best Drugstore.
  • Buy Cheap clomid ovulation day Now Buy Medications Online. Pharmacy Store.
  • Buy Cheap tablet zolpidem Now Low Prices. All Medications Are Certificated!
  • Buy Cheapest prescription clonazepam Now Low Prices. Pharmacy At The Best Price!
  • Buy Cheap viagra side affects Online Best Drugstore. Cheap Online Pharmacy.
  • Buy Cheap order tofranil Online Best Drugstore. Online Prices For order tofranil!
  • Buy Cheap tips for weight loss Now Discount Online Pharmacy. Pharmacy Store.
  • Buy Cheap ativan information Now Discount Online Pharmacy. WorldWide Shipping.
  • Buy Cheap pharmacies Online WorldWide Shipping. Guaranteed Shipping.
  • Buy Cheapest pain medication online pharmacy Now Low Prices. Online Prices For pain medication online pharmacy!
  • Buy Cheap india pharmacies Now Discount Online Pharmacy. Pharmacy Store.
  • Buy Cheapest cheap 10mg cialis without a prescription Now Cheap Pharmacy Online. Top Online Pharmacy.
  • Buy Cheap cost of viagra Online Cheap Online Pharmacy. Top Online Pharmacy.
  • Buy Cheapest cheapest phentermine online Now Best Online. Cheap Prescription Drugs.
  • Buy Cheap valium and driving Now Guaranteed Shipping. Cheap Pharmacy Online.
  • Buy Cheapest levitra dosing Online Best Drugstore. WorldWide Shipping.
  • Buy Cheap xanax withdrawals Now Cheap Prescription Drugs. Best Internet.
  • Buy Cheap buy prescription diet pills Now Free Viagra Pills! No Prescription Needed.
  • Buy Cheapest free trail of cialis Online Low Prices. Buy Medications Online.
  • Buy Cheap cialis free trials Now The Largest Internet Pharmacy. Best Prices.
  • Buy Cheap cialis buy Now The Largest Internet Pharmacy. Low Prices.
  • online prescription pharmacy Online Without Prescription Best Drugstore. Best Prices.
  • Buy Cheap cheap cialis pillstore Online Online Prices For cheap cialis pillstore! Low Prices.
  • Buy Cheapest impotent tadalafil softtabs Online No Prescription Needed. Best Drugstore.
  • Buy Cheap discount drugstore Online Best Online. Discount Pharmacy Online.
  • Buy Cheap generic cialis absolute lowest price Now 24/Online Pharmacy. Top Online Pharmacy.
  • Buy Cheap alprazolam overdose Online WorldWide Shipping. No Prescription Needed.
  • Buy Cheapest pills zoloft Now We Can Offer You Visit Our Online Pharmacy.
  • Buy order phentermine uk Without Prescription Doctor. Low Prices. Best Online.
  • Buy Cheap phentermine cod delivery Online Drugs, Health And Beauty. Best Prices.
  • Buy Cheap worlds strongest fat burner Now Buy Medications Online. Top Online Pharmacy.