0

我有自己的表格视图单元格,它在我的故事板中定义。我还为这个特殊的单元格定义了一个自定义 UITableViewCell 类。因此,当我想为我的自定义原型单元创建一个 Outlet 时,我收到一个无法创建 Outlet 的错误。

由于这是不可能的,我不得不做一些丑陋的变通方法,并在 IB 中使用标签来稍后在我的代码中引用各个标签和按钮。

我真的不明白为什么这是不可能的,我想知道使用标签和 [myCell viewWithTag:] 是否是最好的方法?

4

3 回答 3

1

因为插座是控制器和视图中特定项目之间的一对一连接。在原型单元格的情况下,它只是对可以具有任意数量的不同项目(即表格视图中的行)的单元格的描述。控制器如何知道您指的是哪个项目(例如第 5 行或第 500 行)?这就是您收到错误消息的原因。

Lucas 提供了一种通过标签引用您的连接的方法,效果非常好。

于 2013-07-26T16:17:54.437 回答
0
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{    
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CellIdentInIB"];

UIImageView *img = (UIImageView*) [cell.contentView viewWithTag:1];
//img.image = ...

//Access you prototype cell here to alter its style, example:
[[cell layer] setCornerRadius:10];
[cell setClipsToBounds:YES];

return cell;}
于 2012-01-21T00:22:26.310 回答
0

我假设您正在使用动态原型 - 在情节提要的表格视图的属性检查器中,有一个选项可以选择“静态单元格”或“动态原型”。如果您选择“静态单元格”,您可以做您想做的事情,因为在运行时,对于情节提要中的每个单元格,您的表格视图中只有一个单元格。使用这种方法,您将只能使用您在情节提要中创建的单元格,即您将无法选择代码中的单元格数量。

于 2014-08-22T11:22:03.263 回答