Cómo agregar métodos a un controlador de vista modal en su aplicación para iPad

Si su aplicación para iPad tiene una vista modal, es necesario añadir métodos a la SettingsViewController.m archivo (aplicación). Estos métodos gestionar vista modal de la aplicación para iPad y realizar cualquier acción que el usuario de entrada.

Es bueno saber lo que hace cada sección del código de la plantilla proporcionada, y es especialmente útil si se utiliza # Marca pragma declaraciones que marcan cada sección para que pueda ir rápidamente a la sección correspondiente cuando sea necesario. El siguiente código de ejemplo, que es parte de una aplicación llamada pensamientos profundos, incluye estas declaraciones.

import "SettingsViewController.h" import "DeepThoughtsViewController.h" import "Constants.h"@implementation SettingsViewController @ sintetizar delegado, wordsOfWisdom, slider - Marca # pragma - # ciclo pragma marca Ver la vida / * // El inicializador designado. Reemplazar si crea el controlador mediante programación y desea realizar personalización que no es apropiado para viewDidLoad.- (id) initWithNibName: (NSString *) nibNameOrNil paquete: (NSBundle *) nibBundleOrNil {if ((auto = [súper initWithNibName: nibNameOrNil paquete: nibBundleOrNil])) {// inicialización personalizada} return self -} * // * // Implementar viewDidLoad hacer configuración adicional después de cargar la vista, por lo general de un nib.- (void) viewDidLoad {[súper viewDidLoad] -} * / - (void) viewDidLoad {[súper viewDidLoad] -self.view.backgroundColor = [UIColor clearColor] -slider.value = + kMaxSpeed ​​- ((DeepThoughtsViewController *) (self.parentViewController)) Velocidad -.} marca # pragma - # pragma marca textField- (BOOL) textFieldShouldBeginEditing: (UITextField *) textField {[textField setReturnKeyType: UIReturnKeyNext] -Retorno SÍ -} - (BOOL) textFieldShouldReturn: (UITextField *) textField {[textField resignFirstResponder] -Retorno SÍ -} - (void) textFieldDidEndEditing: (UITextField *) textField {wordsOfWisdom = TextField.text -} # pragma marca - Marca # pragma Controls- (IBAction) speedChanged: (id) remitente {[changeSpeed ​​delegado: [(UISlider *) Valor remitente]] -} - (IBAction) hecho {if (! [theTextField.text isEqualToString: @ ""]) wordsOfWisdom = theTextField.text- [settingsViewControllerDidFinish self.delegate: self] -} marca # pragma - # pragma marca Orientation- (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) interfaceOrientation {// overriden a permita que el orientation.return SÍ -} marca # pragma - # Memoria marca pragma Management- (void) didReceiveMemoryWarning {// Libera la vista si no tiene un supervista [súper didReceiveMemoryWarning] -. // liberar cualquier datos almacenados en caché, imágenes , etc., que no están en uso} -. (void) viewDidUnload {[súper viewDidUnload] - // Liberar cualquier subvistas de la vista principal .// ejemplo retenidas self.myOutlet = nil -} - (void) dealloc {[súper dealloc] -} @ final

Bueno, esto es lo que hace el código anterior:

  • Aunque el property declaración en el archivo de cabecera le dice al compilador que hay métodos de acceso, necesita un synthesize declaración de una propiedad para crear esos métodos. los synthesize declaración indica al compilador para crear métodos de acceso para usted - una para cada property declaración.

  • los viewDidLoad método establece el fondo y la velocidad de la corredera (que controla la velocidad de desplazamiento de las palabras por la pantalla IPAD).

  • los UITextFieldDelegate protocolo define los mensajes enviados a un delegado campo de texto como parte de la secuencia de la edición de su texto. Cuando el usuario realiza una acción que normalmente iniciar una sesión de edición, el campo de texto llama al textFieldShouldBeginEditing: método primero para ver si la edición realidad debería proceder. En la mayoría de las circunstancias, sólo tendría que volver de este método para permitir la edición de proceder.

  • El campo de texto llama al textFieldShouldReturn: método cada vez que el usuario pulsa el botón Volver en el teclado para saber si debe procesar el Retorno. Usted puede utilizar este método para implementar cualquier comportamiento personalizado cuando se pulsa el botón Volver, pero para sus propósitos, sólo tiene que volver (que es el valor predeterminado), si bien se puede volver NO ignorar el botón Volver.

  • Después de decir "sí" a esto y lo otro, la verdadera acción ocurre con la textFieldDidEndEditing: método, que se llama después de que el campo de texto dimite su primer estado que responde a decir el delegado que la edición se ha detenido para el campo de texto especificado, de modo que usted tiene ahora el editado palabras de la sabiduría (que son las palabras que aparecen abajo la pantalla del iPad en esta aplicación).

  • A continuación, se proporciona una speedChanged método (de tipo IBAction) Para manejar un cambio en la velocidad, que utiliza el delegado de changeSpeed método para cambiar inmediatamente la velocidad de la animación en la vista cuando el usuario cambia en la vista modal.

  • También proporciona un hecho método que controla la posibilidad de un campo de texto en blanco. El código asigna el texto del campo de texto para palabras de la sabiduría sólo si el campo es no theTextField.text isEqualToString: @"".




» » » » Cómo agregar métodos a un controlador de vista modal en su aplicación para iPad