Come può ottenere il valore del campo di testo da una vista di avviso utilizzando Cocos2d?

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

  •  03-07-2019
  •  | 
  •  

Domanda

Sto cercando di sviluppare un'applicazione usando Cocos2d. Non riesco a ottenere valore dal campo di testo. Come ottenere il valore del campo di testo (in una vista di avviso) utilizzando 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];

}
È stato utile?

Soluzione

I fogli di azione e gli avvisi vengono gestiti in modo asincrono. Nel tuo caso, il messaggio [dialog show] si limita a pianificare l'evento show per l'esecuzione successiva (gestita dal ciclo di esecuzione principale). Se inserisci alcuni NSLog (), vedrai che il messaggio [show] ritorna quasi immediatamente, a quel punto il tuo utente non ha inserito alcun dato, il testo di nameField è vuoto e questo si converte in un int di 0 .

Si desidera una finestra di dialogo modale e bloccante con input: i fogli di azione e gli avvisi non sono progettati per l'input dell'utente oltre la pressione del pulsante Sì / No / Annulla. Dovrai preparare una tua visione: non troppo difficile, ma richiederà più lavoro rispetto all'utilizzo di un foglio di azione / avviso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top