Я создал загрузку UIWindow, которую я вызываю, и makeKeyAndVisible
при загрузке. После того, как я закончил, я makeKeyAndVisible
мой главный UIWindow. Но моя проблема заключается в том, что после этого, когда я нажимаю на текстовое поле, клавиатура не появляется. Это задано в Cursor is blinking in UITextField but keyboard doesn't appear, но я не могу найти правильный ответ.Клавиатура не имеет нескольких UIWindows
EDIT: в UIView, когда я нажимаю на адресную панель, клавиатура действительно появляется, но я не могу напечатать. Но на странице Google, когда я нажимаю на текстовое поле поиска, клавиатура не появляется.
- (void)showLoading:(NSString*)text
{
loadingWindow = [[UIWindow alloc] init];
[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
mainWindow = UIApplication.sharedApplication.keyWindow;
[loadingWindow setFrame:CGRectMake(0, 0, boundWidth, boundHeight)];
[loadingWindow setRootViewController:[[UIViewController alloc] init]];
[loadingWindow.rootViewController setView:[[UIView alloc] init]];
[loadingWindow.rootViewController.view setFrame:loadingWindow.frame];
[loadingWindow setHidden:NO];
}
- (void)hideLoading
{
[loadingWindow setHidden:YES];
[loadingWindow removeFromSuperview];
}
Почему вы добавляете в новое окно? Приложения iOS должны иметь только одно окно, и его следует устанавливать только в AppDelegate. – AMayes
Я считаю, что вы ошибаетесь. Взгляните на http://stackoverflow.com/questions/8232398/advantages-problems-examples-of-adding-another-uiwindow-to-an-ios-app – AliBZ
«Если приложение не может отображать контент на экране внешнего устройства , приложение имеет только одно окно. " [Документация UIWindow] (http://developer.apple.com/library/ios/#documentation/uikit/reference/UIWindow_Class/UIWindowClassReference/UIWindowClassReference.html). – AMayes