假设我们有三个视图控制器:1,2和3.使用故事板,使用展开segue从视图控制器3展开到视图控制器1非常简单.然而,当展开时,在显示视图控制器1之前,视图控制器2可以短暂可见.有没有办法从3到1而不再显示2?
查看控制器1:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSLog(@"one did appear");
}
- (IBAction)goToTwo:(id)sender {
NSLog(@"#### segue to two");
[self performSegueWithIdentifier:@"TwoSegue" sender:self];
}
- (IBAction)unwindToOne:(UIStoryboardSegue *)sender {
}
Run Code Online (Sandbox Code Playgroud)
查看控制器2:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSLog(@"two did appear");
}
- (IBAction)goToThree:(id)sender {
NSLog(@"#### segue to three");
[self performSegueWithIdentifier:@"ThreeSegue" sender:self];
}
Run Code Online (Sandbox Code Playgroud)
查看控制器3:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSLog(@"three did appear");
}
- (IBAction)unwindToOne:(id)sender {
NSLog(@"#### unwind to one");
[self performSegueWithIdentifier:@"OneSegue" sender:self];
}
Run Code Online (Sandbox Code Playgroud)
这会产生以下日志消息:
我尝试过使用自定义segues和禁用动画.虽然删除动画会使视图控制器2出现的时间更短,但仍然会出现.有没有办法编程这种行为?
故事板的屏幕截图:
