Представленный UIViewController исчезает после перехода анимации - PullRequest
0 голосов
/ 06 июня 2018

В моем приложении я хочу представить еще один контроллер представления из моего начального контроллера представления.

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

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, ноЯ не понимаю, почему, и я бы предпочел, чтобы решение было чистым.

Я был бы очень рад, если бы кто-нибудь мог помочь мне с этой проблемой.

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Хорошо, мне действительно стыдно.

Контроллер вида был там все время.У него просто был цвет фона по умолчанию, который позволял ему выглядеть как окно ключа.

Изменение цвета фона просто изменило цвет фона, и это не имело никакого отношения к ссылкам.

Возможно, это может помочь кому-то, кто прошел через ту же проблему.:)

0 голосов
/ 06 июня 2018

попробуйте ниже код,

 UIViewController *td=[self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"];

 [self.navigationController pushViewController:td animated:YES];
...