我对tableview有一个非常奇怪的问题: 我有一个表格单元格,我创建了一个segue到另一个tableview 我使用以下代码启动表格单元格,样式为“UITableViewCellStyleSubtitle”:
我遇到的问题是触摸表格单元格不会触发segue(不会调用prepareForSegue),但是如果我将表格单元格样式更改为默认值,那么它可以正常工作。
有谁知道,出了什么问题?非常感谢!
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{ static NSString * const kPlacesCellIdentifier = @“Cell99”;
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kPlacesCellIdentifier];
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:kPlacesCellIdentifier];
//cell.editingAccessoryType = UITableViewCellAccessoryDetailDisclosureButton;
CountryCustomers *aCountryCustomer = [_countryCustomersList objectAtIndex:indexPath.row];
cell.textLabel.text = aCountryCustomer.countryName;
NSString *detailTextLable = [@"Users:" stringByAppendingString:[NSString stringWithFormat:@"%d", aCountryCustomer.userNumbers]];
cell.detailTextLabel.text = detailTextLable;
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
//add the national flag
NSString *imageName = [NSString stringWithFormat:@"%@.png",aCountryCustomer.countryName];
cell.imageView.image = [UIImage imageNamed:imageName];
return cell;
}
答案 0 :(得分:1)
这是因为您创建了另一个单元格,您不应该调用
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:kPlacesCellIdentifier];
之后
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kPlacesCellIdentifier];
因为dequeueReusableCellWithIdentifier
已经创建了单元格
要更改单元格类型,请转到故事板并进行更改,选择单元格,然后将样式更改为“字幕”