相关疑难解决方法(0)

如何在不显示中间视图的情况下展开多个视图

假设我们有三个视图控制器: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)

这会产生以下日志消息:

  • 一个确实出现了
  • 两个人
  • 两个确实出现了
  • segue到三
  • 确实出现了三个
  • 放松一下
  • 两个确实出现了
  • 一个确实出现了

我尝试过使用自定义segues和禁用动画.虽然删除动画会使视图控制器2出现的时间更短,但仍然会出现.有没有办法编程这种行为?

故事板的屏幕截图:

在此输入图像描述

iphone xcode objective-c ios uistoryboardsegue

10
推荐指数
2
解决办法
4882
查看次数

标签 统计

ios ×1

iphone ×1

objective-c ×1

uistoryboardsegue ×1

xcode ×1