我正在使用故事板和自定义单元格。我正在尝试搜索。当tableviewcontroller加载时,它工作正常并加载自定义单元格,一旦我输入搜索字符,返回的单元格是UITableViewCellStyleDefault,我只能设置标签,我不知道为什么它没有选择自定义单元格。有人可以请帮助。
抱歉,重复this,但我无法弄清楚它是如何起作用的。我正在使用此代码。
static NSString *CellIdentifier = @"memberCell";
MemberCell *cell = (MemberCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
NSDictionary *item = self.searchList[indexPath.row];
if (cell == nil) {
cell = [[MemberCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.memberFullName.text = [item[@"full_name"] uppercaseString] ;
cell.memberPosition.text = [item[@"title"] length] < 1 ? [NSString stringWithFormat:@"%@", item[@"districts"]] : [NSString stringWithFormat:@"%@, %@", item[@"title"], item[@"districts"]];
cell.memberRoom.text = [NSString stringWithFormat:@"Rm %@", item[@"room_number"] ];
[cell.memberImage setImageWithURL:[NSURL URLWithString:item[@"image_thumb"]]
placeholderImage:[UIImage imageNamed:@"placeholder"]];
迪帕克
答案 0 :(得分:1)
您说“我正在尝试搜索” - 您的意思是您添加了UISearchDisplayController
并且您试图让自定义单元格显示在结果表视图中吗?如果是这样,您有两个选择:
在tableView:cellForRowAtIndexPath:
方法中,您需要从主表视图中取出自定义单元格,而不是搜索结果表格视图。当您在一个故事板中的tableview中定义一个单元格时,故事板只会将其注册到该表格视图,因此它不会从任何其他表格视图中出现(我在2013年WWDC上负责故事板的苹果工程师确认了这一点)。所以,代码看起来像这样:
MemberCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];
将自定义单元格定义移动到独立的xib文件中(创建一个空的XIB,从对象列表中拖动UITableViewCell并根据需要进行配置)。定义自定义单元类并将其配置为xib中的单元类,然后使用registerNib:forCellReuseIdentifier: