Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将UIViewController上的UINavigation控制器设置为rootView_Ios_Uiviewcontroller_Uitabbarcontroller - Fatal编程技术网

Ios 将UIViewController上的UINavigation控制器设置为rootView

Ios 将UIViewController上的UINavigation控制器设置为rootView,ios,uiviewcontroller,uitabbarcontroller,Ios,Uiviewcontroller,Uitabbarcontroller,我有一个tabBarApplication作为模板,每个选项卡上都有一个UINavigation模板 我想使用该示例(某种程度上)并将其转换为另一个应用程序中的单个UIViewController。我已经介绍了两段代码,第一段是我的模板,第二段是我正在尝试制作的。有谁能给我一些提示或帮助我如何做到这一点吗?我不断地遇到错误,但它们对我来说毫无意义,因为tabBarApp不需要viewController声明它 第一个代码(示例): 第二个代码(我正在尝试制作): 代码的获取部分与已经设置并运行的

我有一个tabBarApplication作为模板,每个选项卡上都有一个UINavigation模板

我想使用该示例(某种程度上)并将其转换为另一个应用程序中的单个UIViewController。我已经介绍了两段代码,第一段是我的模板,第二段是我正在尝试制作的。有谁能给我一些提示或帮助我如何做到这一点吗?我不断地遇到错误,但它们对我来说毫无意义,因为tabBarApp不需要viewController声明它

第一个代码(示例):

第二个代码(我正在尝试制作):

代码的获取部分与已经设置并运行的核心数据相关。 进行此更改的原因是,我希望将普通视图控制器设置为初始屏幕,而不是Tabbar配置

干杯,杰夫


编辑:为了清晰起见,我添加了一个图像


根据您在图像中的描述,您将导航控制器设置为应用程序的根视图控制器。因此,您可以在应用程序代理的
didFinishLaunchingWithOptions:
方法中访问它(如果需要),如下所示:

UINavigationController *navController = (UINavigationController *)self.window.rootViewController;
尽管对于您的应用程序,我认为您没有任何理由需要从应用程序代表处引用导航控制器。您需要的所有设置(代码数据代码除外,您说它已经在工作)都可以通过故事板处理

在nagivationController的根viewController(包含所有按钮的那一个)中,您应该设置一个从每个按钮到情节提要中相应viewController的序列。B一定要设置为“推送”分段,以便将视图控制器推送到navigationController的导航堆栈上。如果在segue发生时需要为子视图控制器执行任何特定设置,则可以实现
prepareforsgue:
方法,如下所示:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"ShowMyViewController"]) {

        MyViewController *vc = (MyViewController*)segue.destinationViewController;       
        vc.title = @"My Title";
        vc.someProperty = @"Some Value";
    }
}

您可以(也应该)使用唯一标识符标识故事板中的每个片段,以便在调用此方法时可以标识它们。

我不清楚新导航将如何工作。您的初始视图控制器是导航控制器吗?是的,我使用的是故事板,我在UINavigation控制器中嵌入了一个ViewController。您的嵌入式ViewController中有什么?你将如何导航到应用程序的其他部分?因此,我有一个普通的UIViewController,上面有几个按钮,我将该视图嵌入到UINavigation控制器中,然后我有一个UITableView,UIViewController通过一个按钮连接到该UITableView。我为Clarithi jonkroll添加了一个图像,谢谢你的回答——当我回到家时,我会再次尝试并发布我的发现:-)干杯
UINavigationController *navController = (UINavigationController *)self.window.rootViewController;
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"ShowMyViewController"]) {

        MyViewController *vc = (MyViewController*)segue.destinationViewController;       
        vc.title = @"My Title";
        vc.someProperty = @"Some Value";
    }
}