title: tableview section header is not sticky in multi sectional tableview
body: <p>I have implemented a tableview (4 sectional) in IOS. Problem is that
  I have just added a section header in first section.Other sections don't have a header.First section does not have row (number of rows is 0).other sections have multiple rows.When I scroll , first section's header is not sticky.it is scrolling and out of screen.My table view style is plain.How can I want to make first section's header is always sticky.Code is below.Unfortunatelly tableview is so complicated and I don't want to make it only one section so that I have implemented it multi sectional.</p>
  
  <pre><code>func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -&gt; UIView? {
      if section == 0 {
          return tabHeaderView.contentView
      }
      else {
          return UIView()
      }
  }
  
  func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -&gt; CGFloat {
      if section == 0 {
        return UITableView.automaticDimension
      }
      else {
          return 0 //just first section have a header (tabview)
      }
  }
  
  func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -&gt; CGFloat {
      return CGFloat.leastNormalMagnitude
  }
  
  func numberOfSections(in tableView: UITableView) -&gt; Int {
      if dataReady {
          totalSectionCount = getSectionCount()
          return totalSectionCount
      }
      else {
          return 1 //permanent because of tabview
      }
  }
  
  func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -&gt; Int{
      if !dataReady || ApplicationContext.instance.userAuthenticationStatus.value == .semiSecure{
          return 1//for shimmer cell and semisecure view
      }
      else {
          return getNumberOfRows(sectionNumber: section)
      }
  }
  
  func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -&gt; UITableViewCell {
      if ApplicationContext.instance.userAuthenticationStatus.value == .semiSecure {
          semisecureViewCell = EarningsSemisecureViewCell()
          setSemisecureViewTextInfo(cell: semisecureViewCell)
          semisecureViewCell.delegate = self
          semisecureViewCell.layoutIfNeeded()
          return semisecureViewCell
      }
      else if !dataReady {
          return getShimmerCell()
      }
      else {
          if indexPath.row == 0 &amp;&amp; !(selectedTabIndex == .BRANDPOINT &amp;&amp; indexPath.section == 1){//marka puan listesinde header cell olmayacak
              return getSectionHeaderViewCell(tableView: tableView,sectionNumber: indexPath.section)
          }
          else {
              let cell = getTableViewCell(tableView: tableView, indexPath: indexPath)
              cell.layoutIfNeeded()
              return cell
          }
      }
  }
  </code></pre>