这 4 个文件与这篇文章相关:
FirstViewController 有一个按钮(不在导航栏上,是一个单独的按钮),当按下它时,页面应该会卷曲呈现 FilterViewController。
第一视图控制器.h
- (IBAction)searchOptions:(id)sender;
FirstViewController.m:
- (IBAction)searchOptions:(id)sender {
FilterViewController *ctrl = [[FilterViewController alloc] initWithNibName:@"FilterViewController" bundle:nil];
[UIView transitionFromView:self.view toView:ctrl.view duration:1 options:UIViewAnimationOptionTransitionCurlUp completion:nil];
[self.navigationController pushViewController:ctrl animated:NO];
}
在 FilterViewController 上它有一些 UI 内容,您按下一个按钮,它会保存 UI 内容,然后页面向下卷曲以显示 FirstViewController。
过滤器视图控制器.h:
- (IBAction)backToMap:(id)sender;
FilterViewController.m:
- (IBAction)backToMap:(id)sender {
FirstViewController *ctrl = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
[UIView transitionFromView:self.view toView:ctrl.view duration:1 options:UIViewAnimationOptionTransitionCurlDown completion:nil];
[self.navigationController popViewControllerAnimated:YES];
}
这里的问题是 UIView 的保留。如何保留 UIView?
当我单击 FirstViewController 上的按钮时,动画会起作用并显示页面。但是,在 FilterViewController 上,当我单击按钮时,它会因错误而崩溃到调试器:
EXC_BAD_ACCESS(代码=2,地址=0x8)
在输出控制台中它说:(lldb)
页面卷曲后,我有一个步进器,当我单击步进器时,我在调试器中得到相同的错误。
更新:我已经跟踪了内存位置错误:http: //i.imgur.com/dL18H9Z.png
谢谢。