Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在UITableView swift中创建下拉列表_Swift_Uitableview_Drop Down Menu - Fatal编程技术网

在UITableView swift中创建下拉列表

在UITableView swift中创建下拉列表,swift,uitableview,drop-down-menu,Swift,Uitableview,Drop Down Menu,我已经到了可以选择选项列表的地步,这些选项都加载到相同的.xib文件中。我试图在点击一个单元格时就这样做。下面填充了一个不同的.xib文件,所有其他单元格向下移动。但是,我不确定如何在swift中使用2个不同的xib作为TableViewCells 我可以想出两种方法来完成您的目标: 单个xib文件:应使用单个xib文件隐藏包含选项的较低部分,直到点击单元格。点击时,可以设置UITableCell类的属性,例如,isExpanded。当设置了isExpanded时,单元格可以取消隐藏选项(通过更

我已经到了可以选择选项列表的地步,这些选项都加载到相同的.xib文件中。我试图在点击一个单元格时就这样做。下面填充了一个不同的.xib文件,所有其他单元格向下移动。但是,我不确定如何在swift中使用2个不同的xib作为TableViewCells


我可以想出两种方法来完成您的目标:

  • 单个xib文件:应使用单个xib文件隐藏包含选项的较低部分,直到点击单元格。点击时,可以设置UITableCell类的属性,例如,
    isExpanded
    。当设置了
    isExpanded
    时,单元格可以取消隐藏选项(通过更改约束)
  • 多个XIB:点击时,可以将新项插入数据源。在cellForRow中,您可以检查一些标识符,并使用如下方式加载常规单元格或选项单元格:

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    if indexPath.row == optionsRow {
        let cell = tableView.dequeueReusableCell(withIdentifier: OptionsCellIdentifier, for: indexPath) as! OptionsCell
        //Configure cell here
        return cell
    } else {
        let cell = tableView.dequeueReusableCell(withIdentifier: NormalCellIdentifier, for: indexPath) as! NormalCell
        //Configure cell here
        return cell
    }
    
    }


  • 您是否正在尝试在点击以显示选项的单元格下方插入单元格?您已经尝试了什么?请发布您正在执行的工作。我正在探索隐藏部分单元格的选项。但我需要我的选项单元格根据刷卡情况进行更改,而顶部的部分保持不变