2012-03-26 2 views
0

Надеюсь, что вставляем subview перед отображаемой клавиатурой. Я использую следующий код:Как разместить подвью перед клавиатурой?

[self.view bringSubviewToFront: myView]; 

но subview не отображается.

+1

Что вы действительно хотите сделать? Потому что показ представления перед «клавиатурой» не имеет смысла. Я уверен, что вы что-то пропустили, задавая свой вопрос. Разверните свой вопрос с более подробной информацией, которую вы хотите сделать. Положите любые снимки экрана, если у вас есть. – Hemang

ответ

2

Я не совсем уверен, что вы ищете, но, насколько я понимаю, вы хотите подсмотреть «готовый»/«возврат» по клавиатуре. Вы, может быть в состоянии сделать это, делая что-то вроде этого (когда клавиатура идет вверх)

UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1]; 
UIView* keyboard; 
for(int i=0; i<[tempWindow.subviews count]; i++) 
{ 
    keyboard = [tempWindow.subviews objectAtIndex:i]; 
    // keyboard view found; add the custom button to it 
    if([[keyboard description] hasPrefix:@"UIKeyboard"] == YES) 
     [keyboard addSubview:doneButton]; 
} 

bringSubviewToFront идея не удалась, поскольку она (клавиатура) не подвид вашего приложения.

+0

Из того, что я могу видеть на iOS 7, свойство windows не всегда имеет 2 окна. Однако на iOS 8 это работает нормально. – alexgophermix

0

Кредит Артему из this question

Вместо того чтобы использовать этот цикл, чтобы найти правильное окно, которое вы можете использовать вместо этого:

UIWindow * window = [UIApplication sharedApplication].windows.lastObject; 

[window addSubview:_menuView]; 
[window bringSubviewToFront:_menuView]; 

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

0

@Altaf, префикс, который вы упоминаете в своем коде, не является хорошим. Вы должны использовать:

if([[keyboard description] hasPrefix:@"<UIPeripheralHostView"] == YES) 

See an example, с классами Touchpose, чтобы показать штрихи на демо-приложений, которые я изменил, чтобы отобразить анимацию над клавиатурой.

Смежные вопросы