В моем приложении я хочу представить еще один контроллер представления из моего начального контроллера представления.
Я попытался сделать это с созданием его экземпляра из раскадровки, потому что я хочу, чтобы переход выполнялся автоматически через определенное время.
UIViewController* secondViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"ViewController"];
[self presentViewController:officialFirstViewController animated:YES completion:nil];
После представления secondViewController, когда заканчивается анимация перехода, контроллер представления исчезает, и я вижу черный экран (окно?).
Я немного протестировали я узнал, что если я что-то делаю в SecondViewController.m, например,
self.view.backgroundColor = UIColor.orangeColor;
в viewDidLoad, secondViewController больше не исчезает.
Это так, потому что теперь удерживается сильная ссылкаto secondViewController?
Кроме того, если я изменил modalPresentationStyle secondViewController на UIModalPrestationOverFullScreen перед его представлением, он также не исчезнет:
UIViewController* officialFirstViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"ViewController"];
officialFirstViewController.modalPresentationStyle = UIModalPresentationOverFullScreen;
[self presentViewController:officialFirstViewController animated:YES completion:nil];
Я считаю, что в этих двух решениях есть что-тоделать с сильной ссылкой на secondViewController, ноЯ не понимаю, почему, и я бы предпочел, чтобы решение было чистым.
Я был бы очень рад, если бы кто-нибудь мог помочь мне с этой проблемой.