试图对细胞扩增采取行动。斯威夫特4

时间:2018-09-06 14:36:43

标签: swift uitableview animation

我有一个带有扩展单元格的tableView。扩展后,我想开始制作动画,但是我一直在努力寻找解决方法。我试图在TableViewCell中的aakeakeFromNib()中调用动画,并在ViewController中调用didselectRowAt。因此,第一次扩展时,动画什么都不做,但是会打印“ done”打印语句,然后如果我再次折叠并扩展,动画就可以工作。只是第一次不工作。

这是我的didSelectRowAt

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let cell = tableView.dequeueReusableCell(withIdentifier: "ContactNameCell") as? ContactNameTableViewCell
    let socialCell = tableView.dequeueReusableCell(withIdentifier: "savedContactCell", for: indexPath) as? SavedContactTableViewCell
    if tableViewData[indexPath.section].opened == true {
        tableViewData[indexPath.section].opened = false
        let sections = IndexSet.init(integer: indexPath.section)
        contactsTableView.reloadSections(sections, with: .automatic)
    } else {
        tableViewData[indexPath.section].opened = true
        let sections = IndexSet.init(integer: indexPath.section)
        cell?.layoutIfNeeded()
        contactsTableView.reloadSections(sections, with: .automatic)

        cell?.layoutIfNeeded()
        UIView.transition(with: (socialCell?.frontContactCard)!, duration: 0.4, options: [UIView.AnimationOptions.transitionFlipFromBottom, .autoreverse], animations: nil) { (success) in
            // after completeion
            print("done")
        }


    }
}

0 个答案:

没有答案