¿Cómo se puede obtener el valor del campo de texto mediante una vista de alerta utilizando Cocos2d?

StackOverflow https://stackoverflow.com/questions/415855

  •  03-07-2019
  •  | 
  •  

Pregunta

Estoy intentando desarrollar una aplicación usando Cocos2d. No puedo obtener valor del campo de texto. ¿Cómo se puede obtener el valor del campo de texto (en una vista de alerta) utilizando Cocos2d?

-(void)timed1: (id)sender 
{
    UIAlertView* dialog = [[[UIAlertView alloc] init] retain];
    [dialog setDelegate:self];

    [dialog setTitle:@"Enter Time:"];
    [dialog setMessage:@" "];
    UITextField * nameField = [[UITextField alloc] initWithFrame:CGRectMake(20.0, 45.0, 245.0, 25.0)];
    [dialog addSubview:nameField];
    [nameField setBackgroundColor:[UIColor whiteColor]];
    CGAffineTransform moveUp = CGAffineTransformMakeTranslation(0.0, 70.0);
    [dialog setTransform: moveUp];
    [dialog setBackgroundColor:[UIColor clearColor]];
    [dialog addButtonWithTitle:@"Done"];
    [dialog show];

    nameField.clearButtonMode = UITextFieldViewModeWhileEditing;
    nameField.keyboardType = UIKeyboardTypeNumbersAndPunctuation;
    nameField.keyboardAppearance = UIKeyboardAppearanceAlert;
    nameField.autocapitalizationType = UITextAutocapitalizationTypeWords;

        //  timeStatus is a int type global variable
    timeStatus =[nameField.text intValue]; // this line not working i can't getting value namefield


    [dialog release];
    [nameField release];

}
¿Fue útil?

Solución

Las hojas de acción y las alertas se manejan de forma asíncrona. En su caso, el mensaje [dialog show] simplemente programa el evento show para una ejecución posterior (manejada por el ciclo de ejecución principal). Si coloca algunos NSLog () s, verá que el mensaje [show] se devuelve casi de inmediato, momento en el que su usuario no ha ingresado ningún dato, el texto de nameField está en blanco y esto se convierte en un int de 0 .

Desea un diálogo modal de bloqueo con entrada: las hojas de acción y las alertas no están diseñadas para la entrada del usuario más allá de presionar el botón sí / no / cancelar. Tendrá que preparar una vista propia: no es demasiado difícil, pero requerirá más trabajo que usar una hoja de acción / alerta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top