第一次选择UITableView时无法禁用高亮显示?

时间:2012-06-20 11:51:57

标签: iphone objective-c xcode uitableview

我在{/ p>中实现了cell.selectionStyle = UITableViewCellSelectionStyleNone;

-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath { }

并在:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { }

但是每一行都会在第一次单击时保持蓝色选择。如何完全禁用选择?

代码是这样的(单元格是自定义的):

-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath     *)indexPath
{    
    CategoryCell *cell = (CategoryCell*)[tableView cellForRowAtIndexPath:indexPath];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;  
    return nil;
}

3 个答案:

答案 0 :(得分:2)

cellForRowAtIndexPath

中实施
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    //create cell
    cell.selectionStyle = UITableViewCellSelectionStyleNone;

   return cell;

}

答案 1 :(得分:0)

关闭桌子上的"allowsSelection" property

您可以通过编程方式或在XIB / storyboard文件中执行此操作。

答案 2 :(得分:0)

cell.selectionStyle = UITableViewCellSelectionStyleNone;

您应该在cellForRowAtIndexPath

中执行此操作