在故事板中循环加载 UIViewControllers
Loop loading UIViewControllers in storyboards
我正在使用 storyboard
,我想知道是否可以使用 UINavigationController
从 A->B->A->B 等导航。 UIViewControllers
是相同的,但每个加载的信息不同。
我尝试使用 segues,但问题是加载到 classes 中的信息没有保存。因此,当我执行 A->B->A 并返回到根目录时,根目录的信息是加载到 2º A 中的信息。因为我使用的是 storyboards
,所以我不创建UIViewControllers
我认为这是问题所在,我只在 prepareForSegue
中使用 [segue destinationViewController]
。我认为一个解决方案是停止使用 storyboards
并使用 Xibs
,因为这样我会在每次加载它们时为每个 class 创建一个实例,这将解决我的问题。
我只是想知道是否有办法使用 storyboard
来执行此操作,因为更改为 Xibs
需要大量工作。有什么建议吗?
我以前从未尝试过 A -> B -> A -> B。但我已经尝试执行 A -> A -> A,但这行不通。 Storyboards 的一个局限性是你不能继续到同一个 VC.
的另一个实例
然而,您可以做的非常简单 - 无需编写用于在故事板中触发 segue 的按钮,而是将其连接到一个方法并手动将新视图控制器推送到导航堆栈。
- (IBAction)buttonTapped:(id)sender {
UIViewController *viewControllerA = [self.storyboard instantiateViewControllerWithIdentifier:@"viewControllerAIdentifier"];
[self.navigationController pushViewController:viewControllerA];
}
请注意,此处不会调用 "prepareForSegue",因此您必须根据需要配置新的 VC 实例。
我正在使用 storyboard
,我想知道是否可以使用 UINavigationController
从 A->B->A->B 等导航。 UIViewControllers
是相同的,但每个加载的信息不同。
我尝试使用 segues,但问题是加载到 classes 中的信息没有保存。因此,当我执行 A->B->A 并返回到根目录时,根目录的信息是加载到 2º A 中的信息。因为我使用的是 storyboards
,所以我不创建UIViewControllers
我认为这是问题所在,我只在 prepareForSegue
中使用 [segue destinationViewController]
。我认为一个解决方案是停止使用 storyboards
并使用 Xibs
,因为这样我会在每次加载它们时为每个 class 创建一个实例,这将解决我的问题。
我只是想知道是否有办法使用 storyboard
来执行此操作,因为更改为 Xibs
需要大量工作。有什么建议吗?
我以前从未尝试过 A -> B -> A -> B。但我已经尝试执行 A -> A -> A,但这行不通。 Storyboards 的一个局限性是你不能继续到同一个 VC.
的另一个实例然而,您可以做的非常简单 - 无需编写用于在故事板中触发 segue 的按钮,而是将其连接到一个方法并手动将新视图控制器推送到导航堆栈。
- (IBAction)buttonTapped:(id)sender {
UIViewController *viewControllerA = [self.storyboard instantiateViewControllerWithIdentifier:@"viewControllerAIdentifier"];
[self.navigationController pushViewController:viewControllerA];
}
请注意,此处不会调用 "prepareForSegue",因此您必须根据需要配置新的 VC 实例。