当前位置: 首页 > 知识库问答 >
问题:

故事板中视图控制器之外的UIView

商宏爽
2023-03-14

我被一个问题困住了,我在官方留档、Stackoverflow或谷歌上找不到答案。

我是一名经验丰富的iOS开发人员,但不熟悉故事板。我想在当前viewcontroller上实例化一个视图,在NIB中,我将在viewcontroller外部绘制一个视图,并附加一个出口以在代码中引用它,并调用addSubview:之类的东西。在MapView委托中绘制覆盖图或详图索引视图非常有用。但我不知道如何在故事板中做到这一点。

我似乎无法在viewcontroller之外拥有视图,而viewcontroller内部的视图要么必须是控制器视图的子视图,要么在Interface Builder中根本不可见(当您拖动在传统NIB中由外部组成的视图时,这是可以的,但如果您需要调整它的最小细节,这将是一个相当大的问题)。

有没有关于做什么或去哪里看的提示?谢谢

共有3个答案

郑佐
2023-03-14

我自己也在想同样的事情,事实上我能够做到这一点,尽管在胡闹之后,它消失了。我有一个导航控制器,一个视图控制器和两个视图。我在一个单独的nib中开发了这些视图,并将它们导入到这个项目中。在连接按钮时,我正在使用的视图突然出现在我的视图控制器旁边。不幸的是,当我试图让另一个视图出现时,我不知何故丢失了它,不知道如何找回它。看起来你不能把一个视图拖到情节提要上,只能拖到一个视图控制器上。然而,如果我能做一次,它必须是可复制的。

程祯
2023-03-14

您可以使用容器视图,这类似于常规视图(您可以指定IBOUTLE UIView),但您可以在UIViewController之外定义它。

昝浩阔
2023-03-14

看来没有办法了。请参阅Jason的评论和这个问题,虽然是在不同的背景下解决相同的问题。

然而,我早些时候在考虑我的问题的含义时意识到——正如我在之前的评论中开始解释的那样,在决定它值得一个完整的答案之前——将自定义视图的设计与应用程序流的设计分开是有意义的...因此,在故事板中不可能设计自定义视图的事实很可能是...通过设计。

自定义视图(可重用组件)与视图控制器(表示应用程序情节提要中的场景)非常不同。这和电影中的角色和场景是一样的。您不想在场景中设计角色,即使您碰巧在一个场景中使用该角色。如果你只在一个场景中使用它是偶然的,但不是必要的。所以它必须是分开的。

要使用Interface Builder来设计自定义视图的事实只是应该封装在类中的实现细节。应用程序故事板不需要知道,更不需要管理如何处理可重用视图的特定实现。

嗯,我希望我有更多的这种审问品牌:)

 类似资料:
  • 我将我的项目分为两个故事板: > -用于经过身份验证的用户。这也是默认的故事板。 -适用于未经身份验证的用户。 应用程序代理文件: 应用委托文件中的登录屏幕: 注销时,会显示登录屏幕。我在应用委托文件中定义了这个: 从MainstryBoard的viewcontroller(比如MainstryBoardVC.m)中,注销被称为: 这引起了很多问题: > 首先,当我注销并移动到登录屏幕时,我仍然可

  • 我已经通读了《iOS View Controller编程指南》和《iOS View编程指南》,如果代码或情节提要中没有大量复制,我无法找到执行以下操作的最佳方法。 我正在为我的孩子们编写一个简单的数学教程程序,其中有一个带有数字“NumberPad”(数字0-9)的视图,以及一些动画的场景。 到目前为止,我有一个视图控制器,它处理简单的加减乘除问题,工作良好。 我想为一个视图控制器使用相同的数字键

  • 我有一个需要在景观和肖像视图中呈现的视图。我使用这个解决方案来提供方向:故事板中方向的解决方案 所选视图是ViewController的视图,它有两个视图:第一个是纵向视图,第二个是横向视图。我隐藏了不符合设备方向的视图。 与图像中一样,视图、纵向视图和横向视图都有容器视图,通过segue链接到视图控制器。据我所知,故事板应该在加载主视图控制器时调用所有分段。我在方法中得到Segue调用。 如果肖

  • 我在情节提要中建立了一些视图控制器,就像下面的图片 我已经实现了它们内部的数据,modal segue用于它们之间的转换。现在我才意识到,当我按“后退”按钮时,以前的视图将无法正确加载。我想我应该切换到导航控制器,并将这些控制器添加到堆栈中。但我不知道如何从我现在的位置走下去。 我认为我应该以编程方式进行更改,因为我发现在情节提要中构建导航控制器在UI设计上不会有太大的变化(至少我不知道如何以那种

  • 我最近从故事板转换到XIB。因为我有大量的视图,而且在git存储库上使用XIB更容易。(此外,该应用程序现在将可用于iOS4)。 下面是我以前拥有的代码,但我想知道如果没有故事板,但使用XIBs,我将如何实现同样的功能:

  • 我正在开发一个游戏,其中第一个视图控制器将包含30个视图控制器的其余部分的全部功能,其中这些控制器的其余部分将是第一个视图控制器的子部分。我的计划是为我的应用程序中的所有30个视图控制器或场景使用单个故事板,它们都将使用相同的背景图像。为了让你知道我在说什么,我在这幅画中只展示了两个场景。故事板图像,但计划是有28更多的场景在这个相同的故事板。绘图。故事板 如果此故事板中的所有30个场景都具有相同