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