Frage

Ich versuche, mithilfe von Cocos2d eine Anwendung zu entwickeln. Ich kann es nicht Wert von Textfeld zu bekommen. Wie kann den Wert des Textfeldes (in einer Alarmansicht) erhalten, indem Cocos2d mit?

-(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];

}
War es hilfreich?

Lösung

Aktionsblätter und Warnungen werden asynchron ausgeführt. In Ihrem Fall die Meldung [Dialog show] lediglich plant die Show-Veranstaltung für einige spätere Ausführung (durch den Hauptlauf Schleife behandelt). Wenn Sie in ein paar NSLog () s setzen, werden Sie sehen, dass die [Show] Nachricht fast sofort zurückkehrt, an welcher Stelle Ihre Benutzer hat keine Daten eingegeben, namefield Text leer ist, und dies wandelt in einen int von 0 .

Sie möchten eine blockierende, modaler Dialog mit Eingabe - Aktionsblätter und Warnungen werden nicht für die Benutzereingabe konzipiert darüber hinaus ja / nein / Abbrechen-Taste drückt. Sie werden einen Blick auf Ihre eigenen kochen müssen. Nicht zu hart, aber es wird mehr Arbeit erfordern, als eine Aktion Blatt / alert mit

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top