【问题标题】:how to make a uitableviewcell unselectable如何使 uitableviewcell 不可选择
【发布时间】:2011-10-17 20:33:06
【问题描述】:

我正在根据 4 个 tableviewcells 组合一个搜索字符串,每个单元格打开一个子视图并加载用户选择的一组数据以设置前一个视图的单元格。

需要设置这些单元格的顺序,以便子视图中的每个前面的数据列表都与父视图中的数据集相关。

即在第一个单元格中选择汽车类型,在下一个单元格中查看与所选汽车类型相关的模型。

除此之外我的问题的基础是如何在设置前一个单元格之前使单元格无法选择。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//...
if (indexPath.section == 0) 
    {

if (indexPath.row == 0) // <<--- what could I put in here.... 
        {
//...
}

} }

【问题讨论】:

    标签: iphone ios uitableview


    【解决方案1】:

    不允许单元格跟踪任何交互:

    [cell setUserInteractionEnabled:NO];
    

    或允许交互,隐藏选择颜色,单击时不执行任何操作。

    [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
    
    - (void) tableViewDidSelectRow.... {
        if(indexPath.row == indexOfCellWithNoUserInteraction) {
            //do nothing
        }
    }
    

    【讨论】:

    • 有没有办法改变单元格的颜色,直到可以编辑它?
    • 一切都好..我想通了..我的意思是有办法说有一个单元格浅灰色,直到它满足一个条件,然后让它变成白色,以便用户知道他们现在可以选择此单元格.. 但已经弄清楚了.. 现在一切都很好:P
    • 如果您的单元格中有您希望可选择的按钮(您不希望整个单元格都可选择 - 只是其中的一些按钮),请使用第二个选项。跨度>
    【解决方案2】:

    使用tableView:willSelectRowAtIndexPath:。为您不想选择的行返回 nil。

    【讨论】:

      【解决方案3】:

      Swift 语法

      cell.selectionStyle = UITableViewCellSelectionStyle.None
      

      【讨论】:

      • 这不会使它无法选择;只是 UIKit 在点击时不会呈现高亮。 didSelectRow... 仍会被调用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-23
      • 1970-01-01
      • 2010-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多