更新:我现在已经解决了这个问题 - 请参阅我自己的评论。令人惊讶的是,当你再次通过它时,写出问题的频率会导致分辨率!
我必须阅读关于SO的所有帖子以及Apple上的示例,但我不能让这个在我的案例中工作,我想知道我做错了什么?
我在IB中使用XCode 4创建了一个自定义单元格。文件的所有者设置为表格的自定义视图控制器的类,我有一个用于UITableView单元格的IBOutlet,它可以从我所知道的内容中连接起来。我通常通过代码完成所有表格单元格并使用快速滚动方法,但对于这个项目,我真的需要使用笔尖来加载单元格内容,我有一些无法弄清楚的悲伤。
所以在我的界面文件中,我有;
@interface myCustomTableViewController <various delegates> {
UITableViewCell *customNibCell;
...
}
@property (nonatomic,assign) IBOutlet UITableViewCell *customNibCell;
在customTableViewController中,我在cellForRowAtIndexPath中执行此操作;
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@:"customDirCell"];
if (cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"DirectoryCellWithMenu" owner:self options: nil];
cell = customNibCell;
self.customNibCell = nil;
}
[self configureCell:cell atRow:indexPath.row];
我的configureCell方法执行此操作以进入单元格并提取我想要自定义的内容。
UIImageView *fileImageView = (UIImageView *)[cell viewWithTag:3];
UILabel *headingTextLabel = (UILabel *)[cell viewWithTag:4];
UILabel *modifiedTextLabel = (UILabel *)[cell viewWithTag:5];
UILabel *sizeTextLabel = (UILabel *)[cell viewWithTag:6];
问题
单元格确实加载到表格中,因为我可以看到正确的布局。此外,我在各种按钮上定义的自定义操作都可以正常启动,因此看起来该单元格已正确连接。
但是没有一个定制工作 - 我似乎无法更改任何标签的文本,例如调查,每个[cell viewWithTag:nn]的结果都是nil 明确标出问题,但我看不出原因是什么。
我无法看到nib文件创建或代码有什么问题,但我显然错过了一些东西!
任何善良的灵魂都能揭示我应该在哪里寻找它吗?
答案 0 :(得分:0)
你试过这个吗?
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@:"customDirCell"];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"DirectoryCellWithMenu" owner:self options: nil];
cell =[nib objectAtIndex:0];
self.customNibCell = nil;
}
答案 1 :(得分:0)
根据我的评论,我已经解决了这个问题。