- 在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
}
}
动画效果如下: