如何在 Xcode 中建立插座连接

Posted

技术标签:

【中文标题】如何在 Xcode 中建立插座连接【英文标题】:How to establish outlet connection in Xcode 【发布时间】:2013-10-04 16:43:10 【问题描述】:

我正在关注关于在 Xcode 中创建表视图控制器的教程 HERE。我正在使用最新版本的 Xcode(Xcode 5)。在教程的顶部,它说它适用于 ios 5。

在本教程中,创建了一个单元格,并将一个 UIImage 和一些标签拖到该单元格上。它继续说 Ctrl-单击单元格的空白区域,然后拖动到标签和图像以建立插座连接。请参阅教程中的屏幕截图。

当我这样做时,我没有得到与教程相同的选项。我得到的唯一选项如下图所示(注意,我选择仅添加一个标签并省略图像以用于我的应用程序)。

谁能告诉我我做错了什么或者我可以如何创建这个连接?在过去的一个小时里,我在 Google 上搜索了它,我看到的只是如何创建 IBOutlets。

另外,有谁知道任何类似的教程?这个非常适合我的需求,因为我将创建一个类似于本教程第二部分的视图。就像我提到的那样,我正在使用 Xcode 5。

【问题讨论】:

【参考方案1】:

虽然这可能有点晚了,但我最近自己偶然发现了这个问题并找出了答案。我使用了和你一样的教程,当我进行控制+拖动时似乎无法生成正确的选项。

您不会将标签拖到自定义单元格的空白处,而是从自定义单元格的“连接”选项卡中拖动。为此:

首先,确保您的标签在CarTableViewCell.h 中正确声明并在CarTableViewCell.m 中合成它们。

其次,将情节提要中原型单元格的自定义类从UITableViewCell 更改为CarTableViewCell

接下来,单击情节提要中的单元原型。使用实用程序,转到连接选项卡(最后一个带有箭头的选项卡)。如果头文件中的所有内容都正确链接,您应该会在 Outlets 部分下看到“makeLabel”、“modelLabel”和“carImage”。

最后,单击 makeLabel 旁边的小圆圈并将其拖到自定义单元格中的正确标签上。对 modelLabel 和 carImage 执行此操作,只需为每个使用关联的 outlet 和 label 或 imageView。

这解决了我的连接问题,按照教程的其余部分,一切正常!

【讨论】:

这确实花了我几个小时才弄明白,谢谢!【参考方案2】:

您的单元格是自定义单元格吗?如果没有单击您的单元格并转到属性检查器,然后在表格视图单元格下选择样式作为自定义

【讨论】:

【参考方案3】:

您的 TableViewCell 是否连接到“CarTableViewCell”?

单击单元格并确保自定义类设置为 CarTableViewCell。

您的 .h 文件与教程中的文件相匹配

#import <UIKit/UIKit.h>
@interface CarTableViewCell : UITableViewCell
@property (nonatomic, strong) IBOutlet UIImageView *carImage;
@property (nonatomic, strong) IBOutlet UILabel *makeLabel;
@property (nonatomic, strong) IBOutlet UILabel *modelLabel;
@end

再试一次,应该和教程一样。

-丛

【讨论】:

是的,所有这些都与您描述的完全一样,并在教程中列出。我的自定义类设置为 CarTableViewCell 并且我拥有上述/教程中的所有 IBOutlets,但我似乎仍然无法让它工作。当我按照另一个教程进行操作时,xcode 中是否还有其他需要设置的内容,但它也不起作用。

以上是关于如何在 Xcode 中建立插座连接的主要内容,如果未能解决你的问题,请参考以下文章

如何将 UIView 插座连接到自定义子视图

将标签连接到 XCode 5 中的插座

无法将对象与 Xcode 中的插座自动连接,如下所示

故事板:如何向原型 UITableViewCell 添加插座?

如何在 AppDelegate.cs 中使用带有插座的单独 XIB 的 UIViewController?出口始终为 NULL

如何连接插座?