Как получить значение текстового поля с помощью представления предупреждений, используя Cocos2d? - PullRequest
0 голосов
/ 06 января 2009

Я пытаюсь разработать приложение, используя Cocos2d. Я не могу получить значение из текстового поля. Как получить значение текстового поля (в виде предупреждения) с помощью 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];

}

1 Ответ

0 голосов
/ 31 марта 2009

Листы действий и оповещения обрабатываются асинхронно. В вашем случае сообщение [dialog show] просто планирует событие show для некоторого более позднего выполнения (обрабатывается основным циклом выполнения). Если вы введете несколько NSLog (), вы увидите, что сообщение [show] возвращается почти сразу, и в этот момент ваш пользователь еще не ввел никаких данных, текст nameField пуст, и это преобразуется в int из 0 .

Требуется блокирующее модальное диалоговое окно с таблицами действий ввода и предупреждениями, которые не предназначены для ввода пользователем после нажатия кнопок «Да / Нет / Отмена». Вам придется составить собственное представление: не слишком сложно, но это потребует больше работы, чем использование листа действий / оповещения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...