如何在IOS中启动新屏幕?
这是一个非常简单的问题,但我不知道怎么做 我发现的第一件事是我必须添加一个导航控制器。虽然我不需要显示导航控制器,但我尝试了它。 我找到了以下教程: 还有一些,上面说,我必须将导航控制器连接到窗口对象。但是在.xib中没有窗口对象。似乎有一些更新,我在AppDelegate.m中发现了以编程方式创建的窗口对象 这是否意味着我必须以编程方式连接它们,如果是,如何连接 我正在使用Xcode 4.4.1构建5.1 然后我找到了一种hacky方法来替换这里描述的视图: 但我想知道做这件事的标准方法是什么 在苹果的《开发指南》中,有一些关于故事板的内容。这就是我需要的吗如何在IOS中启动新屏幕?,ios,Ios,这是一个非常简单的问题,但我不知道怎么做 我发现的第一件事是我必须添加一个导航控制器。虽然我不需要显示导航控制器,但我尝试了它。 我找到了以下教程: 还有一些,上面说,我必须将导航控制器连接到窗口对象。但是在.xib中没有窗口对象。似乎有一些更新,我在AppDelegate.m中发现了以编程方式创建的窗口对象 这是否意味着我必须以编程方式连接它们,如果是,如何连接 我正在使用Xcode 4.4.1构建5.1 然后我找到了一种hacky方法来替换这里描述的视图: 但我想知道做这件事的标准方法
如果可能的话,我需要知道如何启动一个单独的新屏幕(当然有自己的控制器和.xib),而不必在应用程序中添加导航栏。最好的方法是使用导航控制器 在AppDelegate应用程序中,将使用选项完成启动
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:<the view controller you want to use first>];
self.window.rootViewController = self.navController;
[self.window makeKeyAndVisible];
这将隐藏该控制器的导航栏
要推送到新的视图控制器
[self.navigationController setNavigationBarHidden:YES animated:YES];
MyNewViewController *newVc = [[MyNewViewController... (set it up).
[self.navigationController pushViewController:newVc animated:YES];
这是从初始视图控制器完成的
然后再回来。在新的VC中,只需这样做
[self.navigationController popViewControllerAnimated:YES];
您永远不会真正“拥有”导航控制器,也永远不会真正看到它。它就在你的应用程序后面,管理过渡和其他内容。如果你不想使用NavigationController,你可以显示模式视图。在这个问题中,您可以找到如何做到这一点:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
YourViewController *viewController = [[YourViewController alloc] init];
navController = [[UINavigationController alloc] initWithRootViewController:viewController];
// Add the view controller's view to the window and display.
[window addSubview:navController.view];
[window makeKeyAndVisible];
return YES;
}
是否使用NavigationController显示视图取决于该视图的用途,它与您的屏幕流有关。如果您必须“深入”到一系列UITableView中,或者在到达特定屏幕之前只需浏览不同的屏幕,则应使用UINavigationController来处理该问题。看看
我个人更喜欢将故事板用于具有大量视图的应用程序,因为它可以帮助我清楚地了解它们的层次结构以及它们之间的关系
最后,这只是口味的问题。如果您想了解有关故事板的更多信息,我建议您发布以下帖子:
如果您想知道如何使用故事板创建模式视图,最简单的方法是创建一个新项目,选择选项“单视图应用程序”,并在下一个屏幕中选中选项“使用故事板”。一旦你有了它,你就必须在Xcode的项目文件夹中选择你的“MainStoryboard.storyboard”文件。然后从右下角拖动一个“视图控制器”(第一个橙色圆圈,上面有一个正方形),并将其放入已创建的情节提要旁边的情节提要中
现在您应该有两个不同的ViewController。只需从右下角拖动一个UIButton(您需要在列表中滚动以查看“Round Rect Button”选项)到第一个ViewController(左边有一个箭头指向它的那个)
最后,您必须按住Control并单击该按钮,然后将该按钮与另一个ViewController链接。完成此操作后,它将显示“动作序列”对话框。只要选择模态和瞧
以下是您的故事板的外观:
注意:我已更改了第二个ViewController的颜色,使其在切换时更加明显
我建议您先阅读raywenderlich的教程,然后按照以下步骤进行模态视图。有些任务使用代码比使用IB更容易解决。这就是其中之一。在Android中,切换屏幕非常容易,只需两行代码。与布局文件无关。但我把“ios启动新屏幕”放在谷歌上,了解了如何在应用程序和其他无意义的应用程序中添加启动屏幕。我认为这将是一分钟,基本的东西。谷歌的问题发生了,因为它不知道如何在API之间转换。我在寻找“android推送视图控制器”时也没有得到很好的结果。:-)@Ixx我会让你失望的:在iOS中也很容易,你只是经验不足。@Phillip Mills这只是一个例子,我还放了“启动新的视图控制器”等等,但没有得到我想要的。此外,我是一个初学者,我需要一篇清晰的文章,否则我不知道我是在实现标准解决方案还是黑客。而且我也无法(很快)在苹果的《开发者指南》中找到一条清晰的语句。addSubview行给了我:由于未捕获的异常“UIViewControllerHierarchyInconsistency”而终止应用程序,原因是:“添加根视图控制器作为视图控制器的子级:'谢谢你,它真的帮助了我:)