在UITableViewCell
内,detailTextLabel
所涵盖的区域无法识别cell
的选择。
单元格样式为UITableViewCellStyleSubtitle
单元格的整个底部区域无法选择,用户有时会多次点击cell
,然后再点击单元格以检测触摸。
我已尝试[[myCell detailTextLabel] setUserInteractionEnabled:NO]
或设置背景颜色以清除哪些在类似情况下有所帮助,我还能做些什么?
我考虑过添加UILabel
作为subview
的单元格,而不是detailTextLabel
,如果我在这里找不到答案,我会尝试。
编辑 - 按要求
以下是cellForRowAtIndexPath
NSString *cellId = @"cell";
locationsCell = [tableView dequeueReusableCellWithIdentifier:cellId];
if(locationsCell == nil) {
locationsCell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellId];
}
[[locationsCell textLabel] setFont:[UIFont fontWithName:@"Optima-Bold" size:18]];
[[locationsCell textLabel] setText:@"Choose your location"];
[[locationsCell detailTextLabel] setFont:[UIFont fontWithName:@"Optima" size:14]];
[[locationsCell detailTextLabel] setText:@"Tap to select"];
[[locationsCell detailTextLabel] setBackgroundColor:[UIColor clearColor]];
return locationsCell;
EDIT 对不起,我搞砸了。我为另一个表设置了页脚视图,它添加了一个清晰的页脚视图,使得单元格不可选,而不是为两个表添加条件。我删除了页脚并且它正在工作。
答案 0 :(得分:0)
朋友我尝试了自己所说的,但对我来说这是有效的。 我试过像这样的简单代码,
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *TableIdentifier = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:TableIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:TableIdentifier];
}
cell.textLabel.text = [array objectAtIndex:indexPath.row];
cell.detailTextLabel.text=[NSString stringWithFormat:@"subtitle area text working %@ %d",[array objectAtIndex:indexPath.row],indexPath.row];
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"indexpath row %d",indexPath.row);
UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"working" message:@"yes" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
}