Я хочу сделать кнопку, когда я нажимаю эту кнопку, мое приложение переходит к первому экрану.
В моем приложении было много способов перейти на экран (PageViewController, Push Navigation, настоящий модальный, ...).
Есть ли способ принудительно переключиться на первый экран и выпустить все загруженные экраны?Как перейти на первый экран приложения?
ответ
Вы можете перейти на первую страницу с помощью метода popToRootViewControllerAnimated
UINavigationController
, если вы не указали корневой режим внутри приложения.
Нелегкое poptorootview, мое приложение использовало много способов. Сначала использовал pageviewer, затем использовал режим просмотра, а затем использовал push navigation – ThuongNM
Вы можете использовать UNWIND перетекает, чтобы сделать это, или вы можете вернуться назад инстанцирования своего первого контроллера представления. (Не будет выглядеть pop
, хотя.)
var firstVC: UIViewController? = self.storyboard?.instantiateViewControllerWithIdentifier("firstVC") as? UIViewController
self.presentViewController(firstVC!, animated: true, completion: nil)
UINavigationController* navController = self.navigationController;
NSArray *viewControllers=[navController viewControllers];
UIViewController* controller = [viewControllers objectAtIndex:0];
[navController popToViewController:controller animated:YES];
Чтобы перейти к первому экрану, вам должен будет инициализировать первый контроллер представления приложения, установить его в качестве контроллера корневого контроллера контроллера навигации, а затем потушить его. Ниже приведен код для этого.
AppDelegate *appdelegate = ((AppDelegate*)[[UIApplication sharedApplication] delegate])
ViewController *vc = [[UIStoryboard storyboardWithName:@"Main" bundle:NULL] instantiateViewControllerWithIdentifier:@"vc_id"];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController: vc];
[appdelegate.window setRootViewController:nav];
[self.navigationController popToRootViewControllerAnimated:YES];
Независимо от того, что бы вы ни делали, и выше, приведенный выше код будет работать для вас.
Создайте функцию для загрузки первого экрана на Appdelegate
и назовите его нажатием кнопки. В этом случае rootViewController
будет присвоен другому объекту, который будет deallocate
других объектов.
-(void)GotoFirstScreen:(UIViewController *)currentScreen {
[currentScreen.view removeFromSuperview];
MYFirstViewController *splsh = [[MYFirstViewController alloc]initWithNibName:@"MYFirstViewController" bundle:nil];
UINavigationController *newVc = [[UINavigationController alloc]initWithRootViewController:splsh];
newVc.navigationBarHidden = YES;
self.window.rootViewController = newVc;
[self.window makeKeyAndVisible];
}
Теперь этот метод вызывается таким образом
-(IBAction)ButtonClicked:(id)sender{
AppDelegate *appdelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
[appdelegate GotoFirstScreen:self];
}
Я думаю, в вашем случае, если вы хотите загрузить свой первый вид после выхода из приложения правильно ..?
Если это так, то вот решение для вас. Ниже будет загружено первое представление из любого места вашего приложения и будет выпущено почти все сцены и память. Однако, если вы используете некоторые файлы NSUserDefaults или Appdelegate для хранения данных, вам необходимо принудительно очистить эти объекты, чтобы выпустить их значения.
Это решение в Swift, но каждый может сделать то же самое и в объективе c.
Теперь, переход к решению -
Шаг 1. Гото ваш storyborad и перейдите к нужному ViewController который вы хотите загрузить в качестве первого взгляда.
Шаг 2. Отдайте идентификатор раскадровки этому диспетчеру просмотра.
Шаг 3. Используйте нижеследующий код для любого нажатия кнопки или что-то чувак для работы ..... и Voila !!!! ... Это сделано. Нотабене - Создайте объект класса appdelegate внутри текущего класса, из которого вы хотите загрузить страницу.
Кстати, я вставляю изображение о том, как передать идентификатор раскадровки в viewcontroller, который, я думаю, вам немного поможет.
Теперь часть кода -
let appDelegateObjectForThisClass = UIApplication.sharedApplication().delegate as! AppDelegate //Creating Appdelegate Object.
@IBAction func LogOutSection(sender: AnyObject) { //Action of logout button
self.appDelegateObjectForThisClass.window?.rootViewController = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("mainPage") //"Main" is the storyboard name here in my case, replace with yours. "mainPage" is your given storyboard id to that viewcontroller.
}
- 1. В Android, как перейти на первый экран без закрытия текущего?
- 2. Android перейти к устройству все приложения экран
- 3. Как перейти на главный экран из службы?
- 4. Как перейти на другой экран через меню
- 5. trigger.io: Как перейти на новый экран?
- 6. перейти на экран обновления AppStore от приложения iOS
- 7. Перейти на весь экран через MainActivity Сбой приложения
- 8. Перейти на главный экран из Android-активности
- 9. Первый экран. Показывается на первом запуске, ТОЛЬКО
- 10. ios Как мое приложение может вернуться на первый экран?
- 11. Как перейти на новый экран при использовании SideBarController в Xamarin.iOS
- 12. Как перейти на основной экран Android по умолчанию?
- 13. Как инициализировать встроенное представление отправки Docusign на первый экран
- 14. Переход на главный экран приложения в Android?
- 15. Перейти lang: Первый кадр видео
- 16. iPhone + перейти обратно экран программного
- 17. Как перейти на новый экран/страницу в Android Studio?
- 18. приложение андроида выхода полностью и перейти на главный экран приложений
- 19. Scaling андроид приложения на экран
- 20. Первый экран интродукции с анимацией
- 21. Первый запуск приложения iOS
- 22. Как открыть 2 приложения на разделенный экран?
- 23. Как отправить приложение на весь экран приложения
- 24. Как добавить ярлык на экран «Все приложения»
- 25. Экран загрузки приложения IPhone
- 26. Как перейти на экран игры сразу после игры в libgdx?
- 27. Android: WebView, как перейти на полный экран и скрыть заголовок
- 28. Как перейти на новый экран в конце анимации в SketchFlow
- 29. Как перейти на другой экран в android, используя onListItemClick
- 30. Попытка перейти на полный экран падает мое приложение
Посмотрите UNWIND перетекает. – dasblinkenlight
Посмотрите на siba prasad Hotas ответ – user2277872
@dasblinkenlight: Спасибо, я разрешил свои проблемы с развязкой segues. – ThuongNM