2015-04-08 2 views
3

Похожи IOS 8 имеет баг, при котором сигналы с вводом текста не показывают клавиатуры. Я пробовал this hack.Показать UIAlertView и клавиатура одновременно

Проблема с хака является то, что сначала появляется предупреждение, и только после этого делает клавиатура появляется. Это заставляет предупреждение «прыгать вверх», чтобы освободить место для клавиатуры.

Как я могу иметь UIAlertView с вводом текста, где клавиатура появляется сразу?

(Примечание: в качестве примера того, что я хочу, зайдите в «Записи голоса», запишите новую заметку, сохраните ее, и вам будет предложено ввести имя с UIAlertView с текстовым вводом. в то же время, как UIAlertView.)

ответ

5

Я не уверен, что это будет прекрасно решить проблему клавиатуры и alertView появляются одновременно. Но я бы рекомендовал вам использовать новый api. Я отправляю это как ответ, так как его трудно добавить в комментарии.

По некоторым причинам UIAlertView был осуждаемыми в прошивке 8. Вместо того, чтобы с помощью UIAlertView вы должны использовать UIAlertController со стилем UIAlertControllerStyleAlert. Представьте это, а затем откройте клавиатуру.

UIAlertController *alert = [UIAlertController alertControllerWithTitle:yourTitle message:yourMessage preferredStyle:UIAlertControllerStyleAlert]; 

[self presentViewController:alert animated:YES completion:nil]; 

Поскольку предупреждение теперь отображается как UIViewController клавиатура не будет сдвигать вверх окно предупреждения.

+0

Это не делает никаких попыток, чтобы ответить на этот вопрос. Обновите ответ, чтобы он фактически объяснил, как заставить клавиатуру появляться одновременно с предупреждением. – rmaddy

+1

Я просто предлагаю OP использовать новую api. –

+0

@VinayJain Но ответ должен ответить на вопрос. Если вы просто хотите сделать несвязанное предложение, опубликуйте его как комментарий. – rmaddy

0

// Ctrl + K появляться клавиатуры и ios8 клавиатуры, появляющийся одновременно вопрос будет решить этим ...

UIAlertController * alert = [UIAlertController alertControllerWithTitle:@"" message:@"Registration Successfully" preferredStyle:UIAlertControllerStyleAlert]; 

UIAlertAction * ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action){ 

          // [self.view endEditing:YES]; 
          // [self.navigationController popToRootViewControllerAnimated:YES]; 

         }]; 
[alert addAction:ok]; 
[self presentViewController:alert animated:YES completion:nil]; 
Смежные вопросы