UITableViewCell的zposition(swift)

时间:2015-07-19 05:03:22

标签: ios swift uitableview

我正在尝试制作一个抽屉,当它被点击时从行下方滑出。我已经完成了所有工作,除了我无法获得zposition集。我尝试了几种不同的方法,但它不适合我。我可以将视图与行的底部对齐,但动画仍然会发生在堆栈顶部。

我确定我错过了一些明显的东西。这甚至可能吗?

我的代码在这里:https://gist.github.com/opswhisperer/14d8dbfb9f16dab8e1a8

(用thetyson的回答更新了主旨)

screenshot

1 个答案:

答案 0 :(得分:1)

幸运的是,当您选择它时,UITableView会将所选单元格移动到堆栈顶部(z-index),因此您只需要对单元格的引用:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    tableView.deselectRowAtIndexPath(indexPath, animated: true)

    let drawerView = UIView(frame: CGRectMake(0, 50, 200, 200))
    drawerView.backgroundColor = UIColor.purpleColor()
    // TODO: set the frame based on the location of the selectedCell

    let selectedCell = tableView.cellForRowAtIndexPath(indexPath)
    selectedCell?.superview?.insertSubview(drawerView, belowSubview: selectedCell!)

    // TODO: Add super slick animation
}

您的视图应显示在所选单元格的后面。