2017-02-17 2 views
0

this the first screenshortcomment ajouter swipe et vue d'en-tête au contrôleur uiTableView.

enter image description here

J'ai ajouté une vue d'en-tête et mouvement vers la gauche au contrôleur de vue de la table.

Comme vous pouvez le voir dans la capture d'écran lorsque je balaie la ligne, la vue de l'en-tête est également en mouvement s'il vous plaît aidez-moi.

mon code pour ajouter en-tête est

 func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { 

      let header = tableView.dequeueReusableCell(withIdentifier: "HeaderCell") as! CustomHeaderTableViewCell 

      header.SortButton?.backgroundColor = UIColor(netHex:0xEEEEEE) 
      header.FilterButton?.backgroundColor = UIColor(netHex:0xEEEEEE) 

      header.SortButton?.font = UIFont.fontAwesome(ofSize: 18) 
      header.SortButton?.text = String.fontAwesomeIcon(name: .sort) + " Sort" 

      header.FilterButton?.font = UIFont.fontAwesome(ofSize: 18) 
      header.FilterButton?.text = String.fontAwesomeIcon(name: .filter) + " Filter" 

      return header 

     } 



func tableView(_ tableView: UITableView, editActionsForRowAt: IndexPath) -> [UITableViewRowAction]? { 
     let more = UITableViewRowAction(style: .normal, title: "More") { action, index in 
      print("more button tapped") 
     } 
     more.backgroundColor = .lightGray 

     let favorite = UITableViewRowAction(style: .normal, title: "Favorite") { action, index in 
      print("favorite button tapped") 
     } 
     favorite.backgroundColor = .orange 

     let share = UITableViewRowAction(style: .normal, title: "Share") { action, index in 
      print("share button tapped") 
     } 
     share.backgroundColor = .blue 

     return [share, favorite, more] 
    } 

    func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool { 
     return true 
    } 

    func scrollViewWillBeginDragging(_ scrollView: UIScrollView) { 
     searchBar.endEditing(true) 

     let translation = scrollView.panGestureRecognizer.translation(in: scrollView.superview) 

     if(translation.y > 0) 
     { 
      // react to dragging down 
     } else 
     { 
      // react to dragging up 
     } 
    } 

peut me aider à s'il vous plaît résoudre le problème de glissement.

et encore une chose que je peux cacher la vue d'en-tête sur le défilement.

Répondre

1

Il y a 2 solutions possibles à votre problème:

  1. retour simplement cell.contentView au lieu de cellules au sein de votre fonction viewForHeaderInSection et votre problème sera résolu.
  2. Sous-classe UITableViewHeaderFooterView au lieu de UITableViewCell pour votre vue en-tête.