0

在 a 内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;

编辑对不起,我搞砸了。我为另一个表设置了页脚视图,它添加了一个清晰的页脚视图,使单元格不可选择,而不是为两个表添加条件。我删除了页脚,它正在工作。

4

1 回答 1

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];
}
于 2013-08-23T07:29:02.943 回答