Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.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
Iphone 有关导航控制器、windows&;的帮助;子视图!_Iphone_Uikit_Uinavigationcontroller - Fatal编程技术网

Iphone 有关导航控制器、windows&;的帮助;子视图!

Iphone 有关导航控制器、windows&;的帮助;子视图!,iphone,uikit,uinavigationcontroller,Iphone,Uikit,Uinavigationcontroller,我的第一个xib包含一个ScrollView,在MainWindow.xib中有一个类似跳板的界面: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { navController = [[UINavigationController alloc] init]; [导航控制器设置导航栏隐藏:是]; [窗口添加子

我的第一个xib包含一个ScrollView,在MainWindow.xib中有一个类似跳板的界面:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {   
     navController = [[UINavigationController alloc] init];
[导航控制器设置导航栏隐藏:是]; [窗口添加子视图:navController.view]; [window sendSubviewToBack:navController.view];}

单击按钮时,FirstViewController将显示一个tableview和一个导航控制器:

    - (void) buttonPushed:(id)sender {
       FirstViewController *firstViewController = [[FirstViewController alloc] init];
       [navController pushViewController:firstViewController animated:YES];
[firstViewController release];


[window addSubview:navController.view]; }
当我点击导航控制器中的“后退”按钮返回跳板时,我得到了跳板xib,但对顶部导航栏的触摸没有反应

- (void)goHome:(id) sender { 
[self.view removeFromSuperview];

如何返回到springboard screen(mainwindow.xib)而不将导航栏堆叠在顶部,并对触摸做出响应?

您是否尝试调用[navController setNavigationBarHidden:YES];在mainview视图中将出现回调?

为什么不将springboard视图设置为导航控制器的根视图控制器,并删除窗口中的任何UI

我认为窗口不应该有任何UI元素接受添加到其中的视图控制器的视图(通过导航控制器或选项卡栏控制器)

这样,您就不必重新设计轮子,以便从springboard视图加载第一个视图,并且“后退”按钮将正常工作

您可以在根视图控制器(springboard视图的视图控制器)的viewDidLoad方法中将navigationBarHidden属性设置为false

{


}

好吧,在ViewDidApper中不起作用,但它在-(void)goHome:(id)sender{上起作用,当我单击按钮时。问题是,gui仍然对触摸没有响应。好吧,我尝试在MainWindow.xib中添加ViewController。ViewController下是一个带有ScrollView和springboard界面的视图。我使用[window addSubview:dashboardViewController.view]将仪表板添加到窗口。我创建导航控制器:navController=[[UINavigationController alloc]init],将FirstView控制器添加到堆栈:navController.ViewController=[[NSArray arrayWithObject:firstViewController]retain];当我单击跳板中的按钮时,我使用:[窗口添加子视图:navController.view];有更好的方法吗?因为我又处于相同的位置。更好的方法是按照他刚才向您解释的那样,使用dashboardViewController作为根视图控制器初始化UINavigationController。然后,当您的dashboard控制器出现时,您可以将navController的隐藏属性设置为“是”,当他出现时,您可以将其设置为“是”看来。
- (void)applicationDidFinishLaunching:(UIApplication *)application
UIViewController *rootController = [[MyRootViewController alloc] init];

navigationController = [[UINavigationController alloc]

                            initWithRootViewController:rootController];

[rootController release];



window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

[window addSubview:navigationController.view];

[window makeKeyAndVisible];