Objective-C& Interface Builder for Dummies:如何混合不同的控制器并在它们之间进行转换?

时间:2011-01-28 23:26:12

标签: objective-c cocoa-touch xcode interface-builder

我想制作一个iPad应用程序(我现在正在制作它,它只是不起作用......)我开始使用用户的登录屏幕,如果他们进行身份验证我想转换到另一个屏幕将有一个TabBar

现在我的iPadAppDelegate带有MainWindow个XIB文件。在MainWindow中,我有一个SignInViewController,它匹配一个同名的类和XIB文件。 SignInViewControlelr XIB包含用户需要登录的所有文本字段和按钮。

如果用户已获得授权,我想转换到TabBar的屏幕,这就是我在UITabBarController XIB中有MainWindow的原因,但我似乎无法过渡它。

Ultimatelly,我认为我误解了Cocoa的MVC版本是如何工作的(我的MVC知识仅限于ASP.NET MVC,因为它是在v1预览1中......而且我现在可以看到它有很大的不同,但我很可能非常错,因此误解了。也许我使用了太多的控制器和太少的视图,或者只是没有将它们放在应有的位置,更不用说编写代码来与它们进行交互......

我很欣赏有关如何正确构建控制器和视图以获得我想要实现的内容的解释。一个类似于我想要做的应用程序是AT& T myWirelss应用程序。

帮助将不胜感激!

P.S。我一直在学习如何通过观看YouTube上xvitcoder的视频来制作iOS应用,并进一步添加我需要的功能,同时询问有关如何添加所需功能的问题。这些视频很好(我认为),但我正在尝试做一些他们没有真正解释的事情(我认为)。

更新

我最终使用的代码是有效的,虽然我不确定它是否正确的方法:

DashboardViewController *dashboardViewController = [[DashboardViewController alloc] initWithNibName:@"DashboardViewController" bundle:nil];
[appDelegate.window insertSubview:dashboardViewController.view aboveSubview:self.view];
[dashboardViewController release];

2 个答案:

答案 0 :(得分:1)

您可能会发现View Controller Programming Guide信息丰富。最终,您可以使用UIViewController的衍生物来内部管理不同的视图/视图控制器,或者您也可以使用UINavigationController。

答案 1 :(得分:0)

iPhone模板的“实用程序应用程序”提供了一个非常好的简单模型,可以在大视图之间进行翻转。它显示了视图控制器如何调用另一个控制器。这可能会给你一个开始。