swift-tableView滚动,里面图片发生偏移动画

来源:互联网 发布:感性和理性 知乎 编辑:程序博客网 时间:2024/06/04 17:47
  1. 在cell的content View上放一个UIView控件,设置cell高度与uiview的高度为300
  2. 在uiview上再添加一个UIImageView,设置左右靠边,高度设置为400
  3. 设置图片的填充模式为aspectFill【放张大图】

代码设置:

  1. 设置tableviewHeight = 300
  2. 2.
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {        let cell = tableView.dequeueReusableCell(withIdentifier: "reuseIdentifier", for: indexPath)        // Configure the cell...//        for cell in tableView.visibleCells {            let coverView = cell.contentView.viewWithTag(100)            let image = coverView?.viewWithTag(200)            let rect = coverView?.convert((coverView?.bounds)!, to: nil)            var y = UIScreen.main.bounds.size.height - (rect?.origin.y)! - 600            y *= 0.2            if y > 0 {                y = 0            }            if  y < -100 {                y = -100            }            image?.frame.origin.y = y//        }        return cell    }
    3.
    override func scrollViewDidScroll(_ scrollView: UIScrollView) {        for cell in tableView.visibleCells {            let coverView = cell.contentView.viewWithTag(100)            let image = coverView?.viewWithTag(200)            let rect = coverView?.convert((coverView?.bounds)!, to: nil)            var y = UIScreen.main.bounds.size.height - (rect?.origin.y)! - 400            y *= 0.2            if y > 0 {                y = 0            }            if  y < -100 {                y = -100            }            image?.frame.origin.y = y        }    }

动画效果如下:
动画效果

0 0
原创粉丝点击