单击可扩展表视图中的子菜单时,我们可以导航到新视图吗?

时间:2016-10-17 07:07:57

标签: ios swift swift2

我有一个包含许多按钮的HRMS屏幕。我想基于更多的功能对每个按钮进行分类,如

Attendance->     出勤标记     出勤登记册

免洗型>     请假     保留OD授权     保留OD Approve

其他>     HolidayList     保持余额

现在我的屏幕看起来像HRMS

我正在尝试实现可扩展列表视图。逻辑很简单,当单击子菜单时,我想转到与之关联的特定View控制器。虽然我知道如何使用

使用简单的表格视图来执行此操作
  

func tableView(tableView:UITableView!,didSelectRowAtIndexPath   indexPath:NSIndexPath!)

在使用可扩展表视图时,我无法弄清楚如何实现它。我用Google搜索了同样的内容,但无法获得具体的解决方案。

1 个答案:

答案 0 :(得分:1)

您可以使用

func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!)
{
    if (indexPath.section == 0)
    { 
        if (indexPath.row == 0)
        {
            /*The first row of the first section was tapped.
              Put code here that you would like to execute when the
              first row of the first section is tapped*/
        }
        if (indexPath.row == 1)
        {
            /*The second row of the first section was tapped.
              Put code here that you would like to execute when the
              second row of the first section is tapped*/
        }
    }  

    if (indexPath.section == 1)
    { 
        if (indexPath.row == 0)
        {
            /*The first row of the second section was tapped.
              Put code here that you would like to execute when the
              first row of the second section is tapped*/
        }
        if (indexPath.row == 1)
        {
            /*The second row of the second section was tapped.
              Put code here that you would like to execute when the
              second row of the second section is tapped*/
        }
    }  
}

with expandable tableView与普通tableviews相同。只需在上面的方法中为所需的tableView行调用新的viewController。

要记住的一件事是,当您使用多个部分时(如果您使用的是可扩展的tableView),则每个部分的行的索引从零开始。

例如,tableView中有三个部分,每个部分有三行,它们的索引就像这样

  • 第0节

    • 第0行
    • 第1行
    • 第2行
  • 第1节

    • 第0行
    • 第1行
    • 第2行
  • 第2节

    • 第0行
    • 第1行
    • 第2行

所以你需要检查didSelectRowAtIndexPath方法中的section和row