Я создаю приложение iOS, в котором у меня есть следующее требование: приложение должно отображать экран входа в систему при первом запуске, а также этот экран также должен отображаться, когда приложение поставляется с фона на передний план, если оно было отправлено на фоновое изображение во время выполнения.Как вызвать контроллер вида из AppDelegate в iOS
Я обработал, чтобы показать экран в обоих случаях. Тем не менее, когда я это делаю, и приложение приходит из фона, и я нажимаю texfield для ввода моего пароля, приложение замораживается, и он не работает в потоке, который я не знаю, что это значит.
Я называю экран будет отображаться, если приложение поставляется из фона, как это, в applicationWillEnterForeground, в AppDelegate:
self.window=[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
RoomRootViewController* room = [[RoomRootViewController alloc] init];
[[self window] setRootViewController:room];
[self.window makeKeyAndVisible];
Является ли это правильный способ сделать это?
Большое спасибо! Я полностью потерял это, поскольку я очень новичок в iOS, поэтому любая помощь будет очень оценена.
На картинке вы можете увидеть, где приложение не работает.
Что бы я делал в этом случае, это использовать экземпляр контроллера навигации в вашем делете приложения и представить свой логин-контроллер по-разному. Если вы не используете иерархию контроллера навигации, я бы порекомендовал ее, но другой вариант должен был просто добавить ваше представление диспетчера просмотров в качестве подзаголовка вашего uiwindow. Я думаю, что ваша проблема может быть связана с созданием нового экземпляра приложений uiwindow. Вам не нужно будет удалять окно делегатов приложений после его создания. –