【发布时间】:2013-11-25 15:07:52
【问题描述】:
我对 iOS 编程完全陌生。到目前为止,我只在 Android 上编程,而 Objective-C 现在对我来说是一种完全不同的新语言。
我想要做的是不使用我用故事板创建的设计。我想以编程方式完成所有操作,因为我认为如果我这样做会更有活力。
我遇到的问题是,我想要 3 个不同的视图。我用谷歌搜索了一下,偶然发现了一些 stackoverflow 问题。在那里,人们建议使用NavigationController。好的。现在我正在尝试实现它。我想要的是以下
具有 3 个不同视图的 MainViewController。第一个视图是 loginView。第二个是显示数据,第三个是根据第二个视图的点击显示详细数据。
navigationcontroller 是否适用于此?我遇到的问题是我告诉应用程序我想从 MainViewController 开始并将 LoginView 推入其中。
我有一个 MainViewController.h 和 MainViewController.m 是 UIViewController 的子类
现在,我究竟应该在哪里执行此操作?我这里有didFinishLaunchingWithOptions 方法,内容如下
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
UIViewController *viewController = [[MainViewController alloc]init];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
[navigationController pushViewController:viewController animated:NO];
self.window.rootViewController = navigationController;
[self.window makeKeyAndVisible];
return YES;
}
但这只会使应用程序崩溃。我究竟做错了什么?我如何获得这三个视图?我开始完全错了吗?请帮忙。正如我所说,我是 iOS 开发的新手。在一个视图上编程对我来说很容易。我已经这样做了,但我想要三个不同的观点!谢谢!
【问题讨论】:
-
去掉这一行 [navigationController pushViewController:viewController animated:NO];
标签: ios iphone objective-c