您的位置:首页 > 移动开发 > Swift

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

2017-02-19 16:37 344 查看
在cell的content View上放一个UIView控件,设置cell高度与uiview的高度为300

在uiview上再添加一个UIImageView,设置左右靠边,高度设置为400

设置图片的填充模式为aspectFill【放张大图】

代码设置:

设置tableviewHeight = 300

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

}
}


动画效果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  图片 移动
相关文章推荐