【问题标题】:Custom ui component from framework not rendered to story board框架中的自定义 ui 组件未呈现到故事板
【发布时间】:2017-12-10 13:05:38
【问题描述】:

我正在创建一个包含一些可重用 UI 组件的 swift 框架。

当我在另一个应用程序中导入这个框架时,我能够以编程方式添加自定义组件。

但是,如果我在故事板上添加 UIView 并将其类更改为 customComponent,我将无法在故事板上看到它的预览。因此,我无法将此框架分发给其他开发人员,因为他们无法在 InterfaceBuilder 中可视化组件。

虽然,我可以在运行时看到组件,但它降低了在情节提要中使用框架的效率。

我已关注link 开发 swift 框架。

有两个项目 Library 和 SampleApp。

Libray : 这是一个 swift 框架,它作为一个自定义 ui 组件作为 MyButton。它是非常基本的用户界面,只是为了避免任何混淆。

SampleApp : 此应用程序使用库在示例屏幕上显示 MyButton

请告诉我如何在任何其他应用程序中从框架中查看自定义 UI 组件的预览。

编辑1:

我已上传应用建议的示例代码,但无法解决此问题。 Code

编辑 2: 纠正了教程的断开链接。我没有使用插座来简化它。

编辑 3: 有两个项目:Library 和 SampleApp

我有 MyButton.swift 作为库项目中的自定义小部件。

我在StoryBoard 中添加了 UIView 并将其类更改为 MyButton(来自库框架)

【问题讨论】:

    标签: ios cocoa-touch xcode-storyboard


    【解决方案1】:

    当然有!

    导入框架后:

    import MyFramework
    

    在 IB 中,选择框架模块:

    编辑:

    当然,我假设您已经制作了自定义组件IBDesignable

    编辑 #2:

    应该不需要“导入”到您的故事板中。您要做的就是确保您的视图控制器代码中包含import,并且您的故事板的视图控制器是该子类。例如,这是一个名为 MainViewController 的视图控制器:

    并将您的视图设置为受其控制:

    【讨论】:

    • 我应该如何在故事板中导入框架,因为它是一个 xml 代码。是的,我已将我的组件设为 IBDesignable。我可以在运行时看到小部件,但不能在界面生成器预览中看到。
    • 您不需要这样做。只需import 进入情节提要“视图控制器”指向的视图控制器。默认情况下 - 在单视图项目中,它被称为 ViewController。我将在我的答案中添加屏幕截图。
    • 是的,我正在这样做,但在故事板上看不到预览。我已经分享了示例代码。如果你能检查一下我错过了什么,那将非常有帮助
    • 我下载了你的样本。不知道我在看什么。在“应用程序”方面,什么都不是。故事板和视图控制器代码不包含任何内容。在框架方面,我只看到“.h”文件,暗示... Obj-C 框架?您的问题另有说明。
    • StoryBoard 上有一个 UIView。我已将其类更改为 MyButton。它不可见,因为我们无法在故事板上看到预览。但是如果您运行它一次,您将能够在屏幕上看到按钮。添加了有问题的屏幕截图。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    • 2014-11-29
    • 2013-09-14
    • 1970-01-01
    相关资源
    最近更新 更多