我将尽力解释这一点,所以请多多包涵。
我有一个用单元格填充的表格视图,我试图这样做,因此当按下tableViewCell
时,它将打开一个VC,其中包含该单元格描述的对象的详细信息。我以为我可以使用它,但是我注意到,如果您使用tableView
回到新的VC并返回页面,然后按另一个单元格,它会像进入新页面一样进行转换,但是仍然会以表格视图显示页面,直到您触摸屏幕(任何地方)
有人告诉我,在函数内初始化一个新的VC并不是一个好主意,因为这可能会增加内存使用量,但是每当我尝试在其他任何地方初始化它时,我都会发现错误。我真的被卡住了。
请注意,我之所以不使用xCode提供的内置segue函数,是因为这是一个自定义动画,因此任何不使用自定义动画的解决方案都将无效。
几乎可以正常工作的东西让人非常沮丧,但是随后很少有细节打破它。任何建议表示赞赏,谢谢(下面的代码)
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let exerciseDetailsVC = storyboard?.instantiateViewController(withIdentifier: "ExerciseDetailsVC") as! ExerciseDetailsVC
exerciseDetailsVC.exerciseIndex = indexPath.row
presentDetail(exerciseDetailsVC)
}
编辑:请求的presentDetail函数
func presentDetail (_ viewControllerToPresent: UIViewController){
let transition = CATransition()
transition.duration = 0.2
transition.type = CATransitionType.push
transition.subtype = CATransitionSubtype.fromRight
self.view.window?.layer.add(transition, forKey: kCATransition)
present(viewControllerToPresent, animated: false, completion: nil)
}
答案 0 :(得分:0)
问题是,xCode当前存在一个错误,该错误会导致任何没有选择类型的tableViewCell冻结其动画。它需要执行另一个操作(任何操作,包括摇动手机)才能冻结。找到了解决方案,并在此处进行了详细说明。抱歉,我无法对此进行充分解释。
presentViewController:animated:YES view will not appear until user taps again