gpt4 book ai didi

ios - 如何做循环和复杂的导航?

转载 作者:行者123 更新时间:2023-11-29 10:52:42 25 4
gpt4 key购买 nike

在我的程序中有 6 个 View Controller 。(在 Storyboard中)让我们定义 1,2,3,4,5,6。

1 是我的主要观点。

我想像这样导航(如下图)。可以吗?给我一个做这个导航的想法。

enter image description here

最佳答案

是的,你可以实现这个。这是 iOS 中使用 NavigationController 的简单导航。你有六个 View Controller 1、2、3、4、5、6。

这样做:首先创建一个 NavigationController 并使用 ViewController 1(即 Root View Controller )对其进行初始化。

现在您的 navigationController 就像一个包含所有推送 View Controller 的堆栈。 NavigationController 只是推送和弹出你的 View Controller 。

所以,每次当你想要导航时,首先检查你的 viewController 是否在 navigationController 堆栈中。如果它已经在堆栈中,则弹出到该 Controller ,如果不在,则推送相同的 View Controller 。为此用途如下:

如果是ViewController3

-(void)popToSelectedViewController
{
NSArray *vc=[self.navigationController viewControllers];

ViewController3 *vc3=nil;

for (int i=0; i<[vc count]; i++)
{
UIViewController *tempVC=[vc objectAtIndex:i];
if([tempVC isKindOfClass:[ViewController3 class]])
{
vc=[vc objectAtIndex:i];
break;
}
}

if(vc3)
{
//If exists inside stack the pop
[self.navigationController popToViewController:vc3 animated:YES];
}
else
{
//If not exists inside stack push ViewController3
ViewController3 *vc3New= [[ViewController3 alloc]initWithNibName:@"ViewController3" bundle:nil];
[self.navigationController pushViewController:vc3New animated:YES];
[vc3New release];
}


}

用 navigationController 初始化你的 ViewController1:

如果使用 Storyboard使用 UINavigationController 嵌入您的 initialViewController(即 viewController3)。为此:

第 1 步:打开 Storyboard,然后选择您的 initialViewController(即 viewController3)。

第 2 步:转到菜单中的编辑器 -> 选择嵌入 -> 选择 UINavigationController。这将创建一个导航 Controller 并使用 viewController3 作为 rootViewController 进行初始化。

如果不使用 Storyboard在.h中制作vc3(ViewController3)和applicationNavigationController(UINavigationController)的属性

在 .m 中:

在 appDelegate 中获得方法“application...didFinishedLaunching...”并写下:

self.vc3=[[ViewController3 alloc]initWithNibName:@"ViewController3" bundle:nil];
self.applicationNavigationController=[[UINavigationController alloc] initWithRootViewController:self.vc3];
self.window.rootViewController=self.applicationNavigationController;
[self.window makeKeyAndVisible];

关于ios - 如何做循环和复杂的导航?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19787616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com