我有一个带有扩展单元格的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")
}
}
}