Ios 如何在Xcode中的任何viewcontroller上创建静态视图?

Ios 如何在Xcode中的任何viewcontroller上创建静态视图?,ios,uiviewcontroller,tabbar,Ios,Uiviewcontroller,Tabbar,我有一个有趣的问题。 我有两个屏幕,我需要第三个屏幕元素(按钮、标签)是静态的,当你从一个屏幕移动到另一个屏幕时不会改变。 所以,主显示器1将改变,显示器2也将改变,但按钮和其他(例如标签)需要是静态的 非常感谢所有的帮助,很抱歉,我没有关于这个问题的任何代码。因为我不知道这是怎么造成的…这是我脑子里想不出来的: 您可以将视图放入uiwindow并将静态元素放在其中,然后为display1和display2提供透明背景。然后,您可以让两个显示器将其触摸转发到背景元素,以便在按钮上执行操作。很抱歉

我有一个有趣的问题。 我有两个屏幕,我需要第三个屏幕元素(按钮、标签)是静态的,当你从一个屏幕移动到另一个屏幕时不会改变。 所以,主显示器1将改变,显示器2也将改变,但按钮和其他(例如标签)需要是静态的


非常感谢所有的帮助,很抱歉,我没有关于这个问题的任何代码。因为我不知道这是怎么造成的…

这是我脑子里想不出来的:
您可以将视图放入uiwindow并将静态元素放在其中,然后为display1和display2提供透明背景。然后,您可以让两个显示器将其触摸转发到背景元素,以便在按钮上执行操作。很抱歉,我没有任何代码,但我从未尝试过;)

< P>你应该将静态视图添加到你的代码> UINavigationController < /C>或任何用于管理多个控制器的控制器。

< P> OK,所以如果你有一个不会改变它的内容的UI,你必须考虑以下内容:

如果用户可以从一个屏幕导航到另一个屏幕,那么您必须创建多个视图控制器(可以通过其他方式完成,但这是最简单也是最好的方法),这些控制器将具有自己的UI,可以在故事板中轻松创建,如下所示:

创建一个使用storyboars的新项目(您可以使用支持您需要的Xcode模板)

在生成的情节提要中,拖放一个新的UINavigationController,然后在
属性检查器中检查
是否为初始视图控制器

将另一个UIViewController拖动到情节提要中,选择导航控制器,按住右键单击并拖动到新添加的视图控制器,将出现一个弹出窗口,并从该弹出窗口中选择
根视图控制器
。现在,新添加的视图控制器将是应用程序显示的第一个视图。在此视图控制器上添加UI元素(按钮、标签等)。如果您希望在用户点击按钮时显示另一个屏幕,请拖动另一个视图控制器并选择要显示下一个屏幕的按钮,按住鼠标右键单击并拖动到新添加的视图控制器,从弹出窗口中选择
。现在,当用户点击按钮时,将显示下一个视图控制器,作为奖励,因为您使用iOS,系统将创建一个后退按钮,以便您可以返回到第一个视图控制器

好的,这是一个基本的教程,你可以从中开始和扩展,但为此,你必须阅读更多,在google/SO上花上几个晚上才能找到解决方案,你将背诵苹果文档和其他必要的东西,这样你才能成为一名出色的iOS开发者


我的iOS原力将与您同在,史蒂夫·乔布斯将关注您的步骤。

更好的方法是实例化您的ViewController,如下所示:

this.NavigationController.PresentModalViewController (StaticViewController.staticViewController, true);
然后在实例化的视图控制器内设置一个静态变量,该变量保存视图控制器的实例:

public static StaticViewController staticViewController;
当静态视图控制器第一次启动时:

staticViewController = this;
现在,在将来启动静态视图控制器时(从应用程序中的任何位置),可以检查StaticViewController.StaticViewController变量是否为null

使用简单的if-else逻辑相应地加载它:

if (StaticViewController.staticViewController == null) {
                StaticViewController.staticViewController staticViewController = this.Storyboard.InstantiateViewController ("StaticViewController") as StaticViewController;
                this.NavigationController.PresentModalViewController (StaticViewController.staticViewController, true);
            } else {
                if(!StaticViewController.staticViewController.IsBeingPresented) //safeguard against click happy users
                    this.NavigationController.PresentModalViewController (StaticViewController.staticViewController, true);
            }

我看不到这里的问题,很抱歉让您失望,这个问题(不是问题)没有那么有趣,您有xib/storiboard文件,您可以在其中添加
静态
视图。我知道这是怎么回事?如果您不想显示代码,请告诉我应该朝哪个方向查找答案/谢谢。O这是个好主意,谢谢,所以我使用了:导航控制器-选项卡栏控制器-和任何视图控制器。但举例来说,我想有一个带有选项卡栏控制器但没有导航栏的视图,它是如何制作的?我想投你一票,但我只有10个声望,对不起。接受!您知道如何在没有导航控制器的情况下,在应用程序启动时在任何视图上显示一些UiView。抱歉,我不明白您想要什么:(我希望带有一些按钮的UiView UISlider和其他视图显示在所有视图的顶部,但不带导航控制器。因为我使用带有导航控制器的选项卡栏,我需要每个人都是顶部栏,一个视图不带导航控制器。如果要在用户点击一个选项卡栏项目时显示的每个视图的顶部添加一些视图,您可以ave创建UITabBarController的子类,并将这些视图添加为
yoursubassofuitabbarcontroller.view的子视图