我在视图控制器中创建了一个tableview。我成功隐藏并展示了桌子。但是,它关闭并显示表时没有任何动画。我希望它滑出或滑入。以下是我的代码。
@IBAction func clickButtonAction(sender: AnyObject) {
UIView.animateWithDuration(10.0, delay: 0.0, options: UIViewAnimationOptions.CurveEaseOut, animations: { () -> Void in
}) { (finished:Bool) -> Void in
if(self.tableView.hidden == true){
self.tableView?.hidden = false
}
else{
self.tableView.hidden = true
}
}
}
答案 0 :(得分:1)
您无法为origin/atomics
的{{1}}属性设置动画。您必须在0.0到1.0之间设置hidden
属性的动画。您还在动画的完成块中完成工作。您应该在UIView
块中执行此操作。我还清理了一点代码。我假设alpha
被声明为animations
,但如果它是tableView
或UITableView?
,则可以省略UITableView
时访问它:
UITableView
注意:您可能不想直接比较?
,因为floating point math is hard。相反,我建议保留一个局部变量,使用它来跟踪状态,然后将@IBAction func clickButtonAction(sender: AnyObject) {
UIView.animateWithDuration(10.0, delay: 0.0, options: UIViewAnimationOptions.CurveEaseOut, animations: { () -> Void in
if self.tableView?.alpha == 1.0 {
self.tableView?.alpha = 0.0
}
else {
self.tableView?.alpha = 1.0
}
}, completion: { (finished:Bool) -> Void in
})
}
作为基础:
alpha == 1.0