【问题标题】:Can't create outlet using Interface Builder - Lock symbol shown无法使用 Interface Builder 创建插座 - 显示锁定符号
【发布时间】:2013-05-17 12:12:08
【问题描述】:

我正在尝试使用 Interface Builder 创建插座,但是当将 UILabel 从 IB 拖到我的控制器的 .h 文件时,大锁符号会闪烁几秒钟,它实际上并没有创建 UILabel 之间的绑定和插座(虽然代码生成的)。我还注意到这个新定义创建了一个空圆圈。当它工作时,在侧面创建了一个实心圆圈)。

我检查了 UILabel 和所有父视图,并检查了它们的“锁定”属性是否设置为“继承(无)”(甚至将它们都设置为“无”)。

在 IB 中,UILabel 也不显示 UILabel 被锁定时出现的“x”。

所以我不知道我是否错过了解锁某些东西,或者我做错了什么才能创建这个出口。

我不知道这是否相关,但我正在使用自定义视图控制器,并且我在同一个故事板中为 2 个不同的视图控制器使用相同的视图控制器子类。以这种方式为第一个视图控制器创建出口没有问题。

尝试重新打开 XCode(使用 4.4.1),但没有成功。

感谢任何帮助!

【问题讨论】:

    标签: iphone ios interface-builder xcode4.4


    【解决方案1】:

    那么你是否将两个 UILabel 从每个 View Controller 拖到同一个文件中?我认为这是不可能的,在第二个视图控制器上,尝试 Ctrl 拖动到 IB 视图内的文件所有者,即假设两个视图都连接到同一个实例。 此外,在情节提要的身份选项卡中,在 Localization Locked 下,确保您的情节提要锁定设置设置为https://stackoverflow.com/a/11169636/720175中提到的默认值

    【讨论】:

    • 我正在使用一个故事板,其中有 2 个场景。两者都使用相同的自定义视图控制器(定义为 CalculationsViewController : UIViewController)。对于第一个场景,我能够毫无问题地拖动 UILabel 并创建 Outlets。第二个我不能,场景 UILabels 和其他元素似乎被锁定,即使我已经检查过并且父母似乎没有锁定。由于我使用的是情节提要,如何从 IB 拖动到文件所有者?如果我没记错的话,该图标不存在。 PS我在第一个场景中也看到了这种“锁定”状态:S
    • 好吧,我猜你正在使用分屏视图来拖动连接,你是否在每个视图上使用相同的连接(即相同的 UILabel 等)?
    • 是的,我正在使用分屏视图并从 IB 中将 UILabel 拖到 .h 文件中。每个场景都有自己的 UILabel。我能够将第一个场景的 UILabels 拖到 .h 文件中,并且插座创建得很好。那是大约 1 或 2 周前,我完成了场景 1 的编码。现在我要开始为场景 2 编码,开始拖动这个场景的 UILabel,但我感到很奇怪。奇怪的是现在我也从场景 1 的 UILabels 中获得了“锁定”状态,即使两个场景的所有父视图都没有锁定。
    • 嗯,我以前从未见过这个问题。所以两个视图的类都设置为同一个类对吗?我认为当两个或多个视图指向同一个类时,您无法拖动连接。尝试声明IBOutlets,然后通过拖动到File's Owner而不是使用分屏视图来连接它们。
    • 我的锁图标也会闪烁几秒钟。
    【解决方案2】:

    我尝试添加一个全新的场景,并且还会获得锁符号。所以不仅仅是场景,而是整个故事板。所以快速搜索 SO 让我找到答案:

    https://stackoverflow.com/a/11169636/720175

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-15
      • 2011-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多