Swift - UIScrollView扩展 - 将图像添加到UITableView

时间:2016-07-26 08:38:21

标签: ios swift uitableview uiscrollview parallax

当我使用StoryBoard时,我可以像这样添加UIImageView到UITableView:

enter image description here

我正在尝试编写一个UIScrollView扩展,将视差图像添加到UITableView中,可以轻松地重用所有表格。这里是我添加图片的代码:

 extension UIScrollView {

  func addParallaxImage(image image: UIImage, height: CGFloat) {
    let myImageView: UIImageView = UIImageView()
    myImageView.image = image
    myImageView.contentMode = UIViewContentMode.ScaleAspectFill

    myImageView.frame.size.width = UIScreen.mainScreen().bounds.size.width
    myImageView.frame.size.height = height
    myImageView.frame.origin.y = 0

    self.addSubview(myImageView)

  }

}

功能用法:

tableView.addParallaxImage(image: UIImage(named: "pets")!, height: 100)

但是,我的图像与表格重叠。

enter image description here

任何解决方案?

3 个答案:

答案 0 :(得分:1)

针对您的案例的最佳解决方案是使用tableview标头,这里是最有用的库: -

CSStickyHeaderFlowLayout

ParallaxTableViewHeader

VGParallaxHeader

APParallaxHeader

请注意并非所有的lib都支持Swift,我希望我能帮助你。

答案 1 :(得分:0)

如果你想重复使用这个细胞。 您可以尝试将ImageView添加到tableViewCell中。 顺便说一句,页眉和页脚也可以重复使用。

答案 2 :(得分:0)

而不是addSubview尝试使用insertSubview(_ view:UIView,atIndex index:Int) 索引为0,因此不会超出您的单元格。