如何使用情节提要在界面构建器中连接自定义 UIView?

Posted

技术标签:

【中文标题】如何使用情节提要在界面构建器中连接自定义 UIView?【英文标题】:How to connect custom UIView in interface builder using storyboards? 【发布时间】:2012-11-21 17:06:27 【问题描述】:

我想在我的 ios 应用中使用 F3BarGauge (http://www.cocoacontrols.com/controls/f3bargauge),并且我想在我的 UI 设计中使用 .storyboard。

我设法通过将代码写入视图控制器的 loadView: 方法以编程方式实现了这一点,该方法创建了 F3BarGauge 的实例并通过 [self.view addSubview:myBarGauge]; 将其添加到视图中。

但是,现在我在 Interface Builder 的预览中根本看不到 F3BarGauge,因此我也无法从那里调整 F3BarGauge 的大小或位置。我只能在代码中做到这一点。此外,我认为如果我通过 .storyboard 自动创建部分 UI 元素并在我自己的代码中创建一些 UI 元素,我的同事会感到困惑。

我想找到解决这两个缺点的方法。 在 Interface Builder 中查看实际自定义 UI 元素的内容(在本例中为 F3BarGauge)对我来说并不重要。如果 F3BarGauge 区域的框架显示在 Interface Builder 中并且我可以移动和调整它的大小,那么我对解决方案感到满意。

我没有这种方法的示例,因为F3BarGauge 的作者的示例使用的是 .xib 文件而不是 .storyboard。

我对 iOS 编程和 Xcode/Interface Builder 比较陌生。也许有比我想象的解决方案更好的方法来实现我想要的。

【问题讨论】:

【参考方案1】:

我认为没有办法在 IB 中查看 F3BarGauge,但您可以添加 UIView 作为 IB 中主视图的子视图,根据需要调整大小和位置,然后在代码中添加F3BarGauge 到子视图。

After Edit:其实看了作者的demo project之后,在IB中就可以看到。只需将演示项目中的视图复制并粘贴到视图控制器中(先删除默认视图后)。

【讨论】:

谢谢你,成功了。同时我还找到了一个教程,它从头开始详细解释了一个很好的解决方案。他们添加了一个 UIView(在 Interface Builder 中简称为“View”),然后将连接的类更改为您想要的 UIView 的自定义子类(在我的例子中是 F3BarGauge)。点击raywenderlich.com/1768/…,然后向下滚动到“使用 5 星评级视图”以查看教程的相关部分。

以上是关于如何使用情节提要在界面构建器中连接自定义 UIView?的主要内容,如果未能解决你的问题,请参考以下文章

通过情节提要自定义键盘高度

自定义类未出现在情节提要中

在情节提要中连接 Cell Prototype 的插座

如何使用情节提要从自定义 uitableviewcell 正确启动弹出框转场

如何使用 swift 使用带有 spriteKit 的情节提要

如何使用数据触发器停止自定义情节提要?