Como pode obter o valor do campo de texto por uma exibição de alerta usando Cocos2d?
-
03-07-2019 - |
Pergunta
Eu estou tentando desenvolver um aplicativo usando Cocos2d. Eu não posso obter o valor do campo de texto. Como pode obter o valor do campo de texto (em uma exibição de alerta) usando 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];
}
Solução
lençóis e alertas de ação são tratados de forma assíncrona. No seu caso, a mensagem [mostrar diálogo] apenas faz o agendamento da mostra do evento por alguma execução posterior (tratado pelo circuito de corrida principal). Se você colocar em alguns NSLog () s, você vai ver que os [mostrar] Mensagem retorna quase imediatamente, altura em que o utilizador não inseriu quaisquer dados, o texto de nameField está em branco, e isto converte para um int de 0 .
Você quer um bloqueio, de diálogo modal com a entrada - folhas de ação e alertas não são projetados para entrada do usuário além do sim / não / cancelar empurra botão. Você vai ter que cozinhar uma vista de sua própria:. Não muito difícil, mas vai exigir mais trabalho do que usar uma folha de ação / alerta ??p>