我有一个名为viewControllerA的ViewController,它使用以下公共代码显示ViewControllerB:
ViewControllerB *viewControllerB = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"Identifier"];
[self presentViewController:viewControllerB animated:YES completion:nil];
viewControllerB是一个UITabbarController但是在调用
时[self dismissViewControllerAnimated:YES completion:nil];
从一个TabbarControllers ViewControllers(比如第2页)我得到一个白色的屏幕。我期待看到viewControllerA,但我只是看到一个空屏幕。
也
NSLog(@"%@", [[self presentingViewController] class]);
记录viewControllerA。
有人知道为什么我得到一个空的白色屏幕而不是viewControllerA?
修改 我在viewControllerA中的viewDidAppear上放了一个断点,它在调用dismissViewControllerAnimated时确实在那里中断。但它怎么可能只显示白屏?
另外我认为你应该知道viewControllerA的布局是以编程方式创建的。 viewControllerB的创建时间很晚,与此同时我们决定使用一个故事板,以便使用storyboard创建viewControllerB的布局。
答案 0 :(得分:0)
您可以删除自己(在viewcontrollerB中) [self.presentingViewController dismissViewControllerAnimated:没有完成:无];
答案 1 :(得分:-1)
如果您使用
从viewControllerB
展示viewControllerA
[self presentViewController:viewControllerB animated:YES completion:nil];
您应该拨打[self dismissViewControllerAnimated:YES completion:nil];
中的viewControllerA
,而不是TabBarViewController
的其中一个页面。