UITableView 静态单元格中的 IBOutlets
IBOutlets in UITableView Static Cells
我创建了一个 UITableView
(以及相关的 classes),包含两个部分:
- 第一个是静态自定义单元格
- 第二个是原型细胞
为了控制静态单元格,我实现了一个 class,在那个 class 中,我将 IBOutlet
添加到静态单元格中的一个对象(例如标签)。当我试图在控制 table 视图的 class 中访问该插座时,出现此错误:
outlet doesn't exist
为了更好地解释我的问题,我做了一个video。
短版
UITableView
不能同时是 Static Cells 和 Dynamic Prototypes 内容。你需要选择一个或另一个。
因为您需要动态原型,请使用动态原型。
长版
创建动态原型的步骤:
- Select 您的 Table 在 IB 中查看 > 显示属性检查器 > Table 查看 > 内容 > 动态原型
- 从 IB > 显示对象库部分,将尽可能多的 Table View Cell 拖到 table 查看您的细胞类型。
- 如果您有一些单元格在 运行 时间永远不会改变,您可以很好地在 IB 中为每个单元格创建 1 个实例;它们的行为类似于 Static Cells
- 对于自定义单元格(†),推荐的做法是创建
UITableViewCell
的子class,并应用该自定义 class 到相关单元格(IB > 显示身份检查器),然后从列表中选择您的 Custom Class。这当然意味着你已经创建了这样的子classes。
- 不要忘记为每个单元格原型分配一个唯一标识符,以便您可以在 运行 时间使用
dequeueReusableCellUsingIdentifier;
检索这些
使用此设置,您可以 select 您的 Table 查看单元格,IB > 显示助理编辑器,并在您的自定义 class。您可能需要告诉助理编辑器选择哪个文件。
(†) 还有很多其他方法可以做到这一点;不在本回复范围内。
我创建了一个 UITableView
(以及相关的 classes),包含两个部分:
- 第一个是静态自定义单元格
- 第二个是原型细胞
为了控制静态单元格,我实现了一个 class,在那个 class 中,我将 IBOutlet
添加到静态单元格中的一个对象(例如标签)。当我试图在控制 table 视图的 class 中访问该插座时,出现此错误:
outlet doesn't exist
为了更好地解释我的问题,我做了一个video。
短版
UITableView
不能同时是 Static Cells 和 Dynamic Prototypes 内容。你需要选择一个或另一个。
因为您需要动态原型,请使用动态原型。
长版
创建动态原型的步骤:
- Select 您的 Table 在 IB 中查看 > 显示属性检查器 > Table 查看 > 内容 > 动态原型
- 从 IB > 显示对象库部分,将尽可能多的 Table View Cell 拖到 table 查看您的细胞类型。
- 如果您有一些单元格在 运行 时间永远不会改变,您可以很好地在 IB 中为每个单元格创建 1 个实例;它们的行为类似于 Static Cells
- 对于自定义单元格(†),推荐的做法是创建
UITableViewCell
的子class,并应用该自定义 class 到相关单元格(IB > 显示身份检查器),然后从列表中选择您的 Custom Class。这当然意味着你已经创建了这样的子classes。 - 不要忘记为每个单元格原型分配一个唯一标识符,以便您可以在 运行 时间使用
dequeueReusableCellUsingIdentifier;
检索这些
使用此设置,您可以 select 您的 Table 查看单元格,IB > 显示助理编辑器,并在您的自定义 class。您可能需要告诉助理编辑器选择哪个文件。
(†) 还有很多其他方法可以做到这一点;不在本回复范围内。