В диалоговом окне оповещения iPhone появляется несколько клавиатур? - PullRequest
4 голосов
/ 18 декабря 2008

Я настраиваю оповещение с текстовым полем, чтобы игроки могли ввести свое имя для высокой оценки. Игра ориентирована в ландшафтном режиме, но когда я звоню, чтобы показать предупреждение, предупреждение появляется в портретном режиме, в то время как отображаются две клавиатуры: одна в альбомной ориентации и одна (размером с альбомную) в портретном режиме. Вот код, который я использую для настройки диалогового окна предупреждения:

    UIAlertView* dialog = [[[UIAlertView alloc] init] retain];
[dialog setDelegate:self];
[dialog setTitle:@"Enter Name"];
[dialog setMessage:@" "];
[dialog addButtonWithTitle:@"Cancel"];
[dialog addButtonWithTitle:@"OK"];
[dialog addTextFieldWithValue:@"name" label:@""];
CGAffineTransform moveUp = CGAffineTransformMakeTranslation(0.0, 100.0);
[dialog setTransform: moveUp];
[dialog show];
[dialog release];

Как сделать так, чтобы оповещение показывалось в горизонтальной ориентации и не отображало две клавиатуры?

Спасибо, Ben

1 Ответ

2 голосов
/ 18 декабря 2008

Для тех, кого это волнует, вот рабочее решение, которое корректно работает в ландшафтном режиме:

UIAlertView* dialog = [[[UIAlertView alloc] init] retain];
[dialog setDelegate:self];
[dialog setTitle:@"Enter Name"];
[dialog setMessage:@" "];
[dialog addButtonWithTitle:@"Cancel"];
[dialog addButtonWithTitle:@"OK"];

nameField = [[UITextField alloc] initWithFrame:CGRectMake(20.0, 45.0, 245.0, 25.0)];
[nameField setBackgroundColor:[UIColor whiteColor]];
[dialog addSubview:nameField];
CGAffineTransform moveUp = CGAffineTransformMakeTranslation(0.0, 100.0);
[dialog setTransform: moveUp];
[dialog show];
[dialog release];
[nameField release];

Убедитесь, что вы создали UITextField * nameField; в вашем .h файле вы можете получить текст, введенный пользователем, выполнив: inputText = [nameField text];

в - (void) alertView: (UIAlertView *) предупреждение clickedButtonAtIndex: (NSInteger) метод buttonIndex.

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