视图控制器 IOS 视图间切换

Posted

技术标签:

【中文标题】视图控制器 IOS 视图间切换【英文标题】:View controller IOS switch between views 【发布时间】:2012-02-14 12:44:55 【问题描述】:

我是 ios 编程新手,我需要一些帮助,不知道如何在不触发按钮事件的情况下在两个视图之间切换

我有一个启动屏幕等待 2 秒,然后它应该转到主视图。我不知道如何获取主视图的引用并导航到主视图!

关于以编程方式在视图之间切换的任何教程?

感谢您的帮助。 干杯

【问题讨论】:

您想在应用启动时显示启动画面,然后显示您的主屏幕 【参考方案1】:

对于启动画面,您必须将其命名为 Default.png,并且在 appDelegate didFinishlaunchingMethod 中,您必须将视图控制器添加到窗口。 Default.png 会自动作为初始屏幕引用。试试看

【讨论】:

【参考方案2】:

从 Xcodes 默认项目之一开始,看看它们是如何设置的。他们应该给你一个窗口,开箱即用的主视图。

如果您将 Default.png 图像文件添加到项目中,它将自动用作启动屏幕并在启动时显示。但是,它将在 2 秒内不可见,而是在应用程序启动所需的时间内可见。

如果您希望它显示更长的时间,您必须将具有相同 png 图像的 UIImageView 添加到您的主视图,然后在两秒钟后从您的主视图中删除它。

可以使用 performSelector:withObject:afterDelay 触发 UIImageView 在一段时间后隐藏。然而,这违反了 Apple 的设计指南,因为启动画面只是为了让用户在应用程序启动之前查看。

至于添加新视图,我建议使用 UINavigationViewController。使用它可以让您导航回主视图,并且您还可以获得漂亮的动画作为视图之间的过渡。

【讨论】:

好的,但是我需要在启动画面上添加进度条,我该怎么做? 好的,那么您需要使用 Default.png 作为初始启动画面。当您的应用程序委托触发时,您要做的第一件事就是在主视图顶部添加一个带有相同图片的 UIImageView。然后,您将进度条组件作为另一个子视图再次添加到您的主视图中。现在为了让进度条在你做其他事情时移动,你需要确保你没有阻塞主线程,因为这是改变进度条值所必需的。研究 GCD 的多线程。 我已经有了一个开始视图。我需要以编程方式切换到第二个视图。 是的,您可以通过在开始视图中添加子视图来做到这一点。如果您希望能够在任何时候导航回开始视图,我建议添加一个 UINavigationViewController,将开始视图作为它的根控制器,然后使用“[yourNavController pushViewController:secondViewController animated:YES]”添加第二个视图。如果您不想有导航或动画过渡,您可以简单地使用“[startView addSubView:secondView]”来显示第二个视图。【参考方案3】:

如果您想在视图之间切换,请使用addSubview

也许本教程会有所帮助 ->Tutorial

【讨论】:

以上是关于视图控制器 IOS 视图间切换的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式切换 MVC 视图控制器 - iOS

切换选项卡时删除所有子视图控制器并移至父视图控制器 IOS 目标 c

在iOS 5中使用UISegmentedControl切换视图控制器

使用分段控制在 ios 中的视图之间切换视图

在 iOS 中切换视图控制器的最佳方法

切换视图时的 iOS 特定行为