我有内存管理问题,最后发现了问题,我一直在实例化新的视图控制器。当应用程序启动时,它直接指向FirstViewController,它是故事板中的UITabBarController中的一个元素。
然后,我用这个方法向FilterViewController展示:
- (IBAction)searchOptions:(id)sender {
FilterViewController *ctrl = [[FilterViewController alloc] init];
[UIView transitionFromView:self.view toView:ctrl.view duration:1
options:UIViewAnimationOptionTransitionCurlUp completion:nil];
self.filterViewController = ctrl;
[self.navigationController pushViewController:self.filterViewController
animated:NO];
}它工作得很好,并提出了FilterViewController,它有自己的.xib,所以它是而不是在故事板。
现在,当我试图弹出回FirstViewController时,我使用了以下方法:
- (IBAction)backToMap:(id)sender {
// i used the below when trying to push another view controller
/*UIStoryboard *storyboard = [UIStoryboard storyboardWithName
:@"MainStoryboard" bundle:nil];
FirstViewController *fvc = [storyboard
instantiateViewControllerWithIdentifier:@"FirstViewController"];
fvc.modalTransitionStyle = UIModalTransitionStyleCoverVertical;*/
[self.navigationController popViewControllerAnimated:YES];
}然而,它什么也做不了。什么都没有,我看不出这里出了什么问题?
发布于 2013-07-22 09:22:37
只有当您将视图控制器推到导航堆栈上时,popViewontrollerAnimated才会被使用,因此它不会在这里做任何事情,除非您的项目中有一个。
当你使用transitionFromView..。您正在用新视图替换当前视图的,因此您需要再次调用它才能回到原来的视图。
https://stackoverflow.com/questions/17782739
复制相似问题