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

前端之家收集整理的这篇文章主要介绍了swift-tableView滚动,里面图片发生偏移动画前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  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

        }
    }

动画效果如下:

猜你在找的Swift相关文章