【发布时间】:2023-04-03 06:30:01
【问题描述】:
我正在尝试重用特定视图。假设这是一个有五个按钮的投票系统。由于它出现在不同的场景/屏幕中,我只想拥有一个视图并在需要时重用它。所以我在一个名为MyStarSystem.xib 的xib 文件中创建了视图。现在我想简单地将我的视图放到故事板视图控制器中通过故事板,而不是在代码中。
如果一切顺利,我知道我应该能够做到这一点,只需将 UIView 拖到视图控制器中,然后将类设置为 UIVotingView。但是我在哪里告诉UIVotingView 来绘制xib 的内容呢?当然,按钮必须是交互式的,所以我想要 IBOutlets 和 IBActions。所以我正在考虑使用-(void)drawRect:(CGRec)rect,但这没有任何意义作为解决方案。有谁知道我如何创建这个视图并在整个过程中使用它——将它放入情节提要中?
【问题讨论】:
-
您可以将 xib 中的视图复制并粘贴到情节提要中。删除视图控制器附带的视图,并从 xib 中粘贴。
-
@rdelmar 谢谢。让我试试,特别是看看它是否带有所有的 IBOutlets 和 IBActions。
-
@rdelmar 当我直接从 xib 拖放时,IBActions 和 IBOutlets 不会出现。我希望有一种面向对象的方式来利用整个系统来创建复合对象。显示器本身不是问题。真正的问题是,如果这种组合在 iOS 中是不可能的,我将有重复的代码。
-
@KatedralPillon 我相信你和我正在寻找相同的答案来解决我们如何将自定义视图 (xib) 拖放到情节提要中的控制器中并像其他 UIView 对象一样使用它,但是许多响应是关于以编程方式加载 xib 并以编程方式将自定义视图添加到父视图。我认为我还没有找到解决方案。我想知道。
-
你尝试过容器视图吗?
标签: ios xcode uiview storyboard xib