2010-07-02 75 views
0

我在xcode中为iPhone做事情越来越好,但在这里我遇到了死胡同。把根控制器放在哪里?

我正在尝试构建一个包含两个视图的应用程序:主要设置和一个设置。我希望能够在他们两个之间切换。因为我需要主视图中的每个像素,所以我构建了一个switchView类,当我按下一个按钮(比tabView小很多)时,它就可以在两个视图之间切换,这很好。

现在我在开发中有点深入,并希望设置视图成为表格视图,从我可以导航到下一级别的细节。我以前做过这个,但没有切换视图。

我的问题是,我得到的表视图(在设置)工作,但一旦我尝试推我的视图控制器没有任何反应。在调试时,我可以看到它通过代码工作(例如didSelectRowAtIndexPath正在工作),但没有新的视图弹出。既没有任何错误信息。

我在我的MainWindow.xib中添加了switchView,然后做了一个 [window addSubview:switchViewController.view];在我的AppDelegate中加载主视图。

我应该在哪里放置用于表视图导航的根控制器?因为我猜这是我的问题?

下面导致什么码...

ViewsAppDelegate *delegate =[[UIApplication sharedApplication] delegate]; 

    [delegate.settingsNavController pushViewController:settingsDetailViewController animated:YES]; 

快乐的任何建议,可能会导致我在正确的轨道。花费太多时间来解决这个问题。

回答

0

我可能会误解你以后在做什么,但让我试试......

当你创建你的项目,你应该得到你的MainViewController和AppDelegate中纺都起来,创造了你。从你提供的代码片段看来,就像你在MainViewController中实例化一个新的(也可能是第二个)应用程序委托。

而不是这样做,我建议您将NavigationController上移一个级别到SDK提供的AppDelegate。然后,在您的MainViewController中,将现有的AppDelegate添加为IBOutlet,并将它们全部绑定在IB中。一旦你完成了,使用导航控制器应该更顺利。

例如,我的MainWindow.xib有几个对象,我已经强调了两个,我想你可能关注...

http://www.freeimagehosting.net/uploads/f50268da03.png

*对不起,我的链接 - 我目前无法发布图片。

然后,从我的AppDelegate定制我applicationDidFinishLaunchingWithOptions是这样的...

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

    navController.viewControllers = [NSArray arrayWithObject:mainMenuController]; 

    // Override point for customization after app launch  
    [window addSubview:navController.view]; 
    [window makeKeyAndVisible]; 

    return YES; 
} 

即保持navController了在最高水平(其中我认为它属于),并允许你推和整个流行的观点整个应用程序,同时保持堆栈上的历史。

希望有帮助 - 我可能完全误解了你以后的样子。

祝你好运! Bob

+0

谢谢鲍比 我想要达到什么(即使我可能以错误的方式开始它)就像在苹果天气应用程序中。你有一个主屏幕,一旦你点击小我你进入设置屏幕。在该屏幕上,我希望有一个带有深入导航的tableView。所以我从一个普通的基于Windows的应用程序开始,然后在两个视图之间切换。工作很好。但是当我想添加钻取tableView在我得到(仍然是)卡住的意见之一。 也许我应该尝试基于实用工具的模板...? – Structurer 2010-07-02 13:09:26

+0

我鼓励您考虑查看View Based模板,然后查看一些关于如何使用导航控制器的教程。 网络上有一些免费的快速免费(http://www.youtube.com/watch?v=9ozwoETFei0),如果你不介意花一些钱(5美元),那么在Pragmatic Programmers的家伙就会有一个真正的不错的iPhone SDK教程系列(http://pragprog.com/screencasts/v-bdiphone/writing-your-first-iphone-application)。第二集将是完美的。 有了这些知识,你应该能够很快地修改你所拥有的东西。 祝你好运! – 2010-07-04 13:11:06

+0

谢谢 我上周一定是脱水了。没有什么是真正的工作,但现在整理。感谢您的回复和支持! – Structurer 2010-07-05 07:23:45