加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 06:26:11 所属栏目:百科 来源:网络整理
导读:在cell的content View上放一个UIView控件,设置cell高度与uiview的高度为300 在uiview上再添加一个UIImageView,设置左右靠边,高度设置为400 设置图片的填充模式为aspectFill【放张大图】 代码设置: 设置tableviewHeight = 300 2. override func 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

        }
    }

动画效果如下:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读