【问题标题】:Swift - Parallax Header View - ScrollView overlap cellsSwift - Parallax Header View - ScrollView 重叠单元格
【发布时间】:2016-07-26 17:57:47
【问题描述】:

我正在尝试为 Parallax Header 自定义扩展。但是,它并不完美。表格标题视图始终浮动并与单元格重叠。

扩展代码:

extension UITableView {

  func addImageHeaderView(headerView headerView: UIView, height: CGFloat) {
    self.contentInset = UIEdgeInsetsMake(height, 0, 0, 0)
    self.contentOffset = CGPoint(x: 0, y: -height)
    self.tableHeaderView = headerView
    self.tableHeaderView?.frame = CGRect(x: 0, y: 0, width: self.bounds.width, height: height)
  }

  func updateHeaderView(height kTableHeaderHeight: CGFloat) {

    var headerRect = CGRect(x: 0, y: -kTableHeaderHeight , width: self.bounds.width, height: kTableHeaderHeight)
    if self.contentOffset.y < -kTableHeaderHeight {
      headerRect.origin.y = self.contentOffset.y
      headerRect.size.height = -self.contentOffset.y
    }
    self.tableHeaderView?.frame = headerRect
  }

}

实现代码:

tableView.addImageHeaderView(headerView: viewHeader, height: 100)

func scrollViewDidScroll(scrollView: UIScrollView) {
      tableView.updateHeaderView(height: 200)
    }

我错了吗?如果你知道,请告诉我。

【问题讨论】:

    标签: ios swift uitableview uiscrollview parallax


    【解决方案1】:

    您能否尝试在 viewDidLoad

    中设置以下内容
    self.edgesForExtendedLayout = UIEdgeInsetsZero;
    

    迅速

    self.edgesForExtendedLayout = .None
    

    您还可以尝试检查以下结果

    tableView.addImageHeaderView(headerView: viewHeader, height: 0)
    
    func scrollViewDidScroll(scrollView: UIScrollView) {
          tableView.updateHeaderView(height: 200)
        }
    

    请注意我将高度从 100 更改为 0 我这样做是因为高度值会改变表格视图的 contentInset,这正是与顶角的距离

    【讨论】:

    • 无法将“UIEdgeInsets”类型的值分配给“UIRectEdge”类型。收到此错误。
    • 谢谢!我找到了,但没有效果。 :|
    • 你能试试下面的方法吗: self.contentInset = UIEdgeInsetsMake(0, 0, 0, 0) self 是你的tableView,当你改变它的contentSet时,它将是与顶部的距离
    • func addImageHeaderView(headerView headerView: UIView, height: CGFloat) { self.contentInset = UIEdgeInsetsMake(0, 0, 0, 0) ... } 是吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多