带有字幕的表格单元格不会触发segue?

时间:2012-06-28 08:58:26

标签: ios

我对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;

}

1 个答案:

答案 0 :(得分:1)

这是因为您创建了另一个单元格,您不应该调用

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:kPlacesCellIdentifier];

之后

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kPlacesCellIdentifier];

因为dequeueReusableCellWithIdentifier已经创建了单元格

要更改单元格类型,请转到故事板并进行更改,选择单元格,然后将样式更改为“字幕”

enter image description here