我正在尝试在tableview单元格中添加动画,动画效果很好。但是当我试图通过点击它不停止来阻止tableview的滚动。通常在滚动的tableview中,如果我们点击屏幕,滚动就会停止。但是,当我添加这些不起作用的动画时。下面是我用于动画的代码
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
let rotationTransform = CATransform3DScale(CATransform3DIdentity, 0.4, 0.4, 0)
cell.layer.transform = rotationTransform
UIView.animateWithDuration(0.5) { () -> Void in
cell.layer.transform = CATransform3DIdentity
}
}
答案 0 :(得分:6)
注意:强>
这是使用animateWithDuration ...方法之一的动画的正常行为。如果您想在动画期间进行用户交互,您可以尝试下面我已经显示的内容。
只需要尝试这样:
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
let rotationTransform = CATransform3DScale(CATransform3DIdentity, 0.4, 0.4, 0)
cell.layer.transform = rotationTransform
UIView.animateWithDuration(0.5, delay: 0.5, options: UIViewAnimationOptions.AllowUserInteraction, animations: { () -> Void in
cell.layer.transform = CATransform3DIdentity
}, completion: nil)
}
希望它对你有所帮助。
答案 1 :(得分:1)
你在这里遇到的主要问题是UIView动画,默认情况下,在动画进行过程中禁用动画视图的触摸。您可以通过切换到public function save_category(){
$this->load->model('super_Admin_Model', 'model'); //May be you forget this.
$data= array(
'category_name' => $this->input->post('category_name',TRUE),
'category_description' => $this->input->post('category_description',TRUE),
'publication_status' => $this->input->post('publication_status',TRUE)
);
$this->model->save_category_info($data);
$sdata=array();
$sdata['message']="Save Category information successfully";
$this->session->set_userdata($sdata);
redirect('super_admin/add_category');
}
方法并添加UIViewAnimationOptions值+animateWithDuration:options:delay:animations:completion:
来更改此行为,如下所示:
AllowUserInteraction
答案 2 :(得分:-1)
您可以在动画视图上方添加透明UIView(与单元格大小相同),一旦触摸和/或动画完成后,从子视图中删除视图。